Java 程序查找数字的最大素因数
javaobject oriented programmingprogramming更新于 2025/7/8 17:16:17
以下是 Java 代码,用于查找数字的最大素因数 −
示例
import java.io.*;
import java.util.*;
public class Demo{
static long maxPrimeFactors( long val){
long max_prime = -1;
while (val % 2 == 0) {
max_prime = 2;
val >>= 1;
}
for (int i = 3; i <= Math.sqrt(val); i += 2){
while (val % i == 0){
max_prime = i;
val = val / i;
}
}
if (val > 2)
max_prime = val;
return max_prime;
}
public static void main(String[] args){
int val = 148592;
System.out.println("148592 的最大素因数是 ");
System.out.println(maxPrimeFactors(val));
val = 890654;
System.out.println("890654 的最大质因数是 ");
System.out.println(maxPrimeFactors(val));
}
}
输出
148592 的最大质因数是 251 890654 的最大质因数是 4591
名为 Demo 的类包含一个静态函数,该函数返回一个值,并且定义了一个 ‘while’ 条件,用于检查模数 2 的值是否为 0。如果为 0,则将值 (max_prime) 赋值为 2。否则,将其右移 1 位。同样,‘for’循环迭代从 3 到值的平方根的元素,每次迭代后递增 2。
现在,‘while’ 循环检查值模数迭代器是否为 0。如果是,则将当前正在迭代的值分配给变量 (max_prime)。该值除以迭代值。如果此值大于 2,则将此值 (max_prime) 分配给名为 max_prime 的变量。返回此值。在主函数中,定义一个整数值,并通过使用特定参数调用该函数来找出最大的素数因子。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

