Java程序查找数字的最大质因数
以下是查找数字最大质因数的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("The largest prime factor of 148592 is ");
System.out.println(maxPrimeFactors(val));
val = 890654;
System.out.println("The largest prime factor of 890654 is ");
System.out.println(maxPrimeFactors(val));
}
}输出
The largest prime factor of 148592 is 251 The largest prime factor of 890654 is 4591
名为Demo的类包含一个静态函数,该函数获取一个值,并定义了一个“while”条件,该条件检查该值模2是否为0。如果为0,则变量(max_prime)被赋值为2。否则,它向右移位1位。再次,一个“for”循环迭代从3到该值平方根的元素,并且每次迭代后递增2。
现在,“while”循环检查该值模迭代器是否为0。如果是,则变量(max_prime)被赋值为当前正在迭代的值。该值除以迭代值。如果此值大于2,则此值(max_prime)被赋值给名为max_prime的变量。将其返回。在主函数中,定义一个整数值,并通过使用特定参数调用函数来找出最大质因数。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP