import java.util.*;
public class MyClass {
public static void main(String args[]){
long n = 600851475143L;
ArrayList list = new ArrayList();
long result;
for(long i =2;i <= n;i++){
result = n%i;
if(result == 0){
n = n / i;
list.add(i);
}
}
System.out.println(list.toString());
}
}
第3题内容:
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
13195的质因数是5,7,13,29.请问600851475143的最大质因数是多少。
首先给出百度百科中质因数的一些例子:
-
1没有质因子。
-
5只有1个质因子,5本身。(5是质数。)
-
6的质因子是2和3。(6 = 2 × 3)
-
2、4、8、16等只有1个质因子:2(2是质数,4 = 2,8 = 2,如此类推。)
-
10有2个质因子:2和5。(10 = 2 × 5)
在我们理解了质因数的定义后求质因数的算法如下:
(1) i = 2,如果i < n,并且n能被K整除,则 n = n/k;
(2)如果n不能被i整除,则k = k+1,继续执行步骤1
(3)直到k = n,循环结束
我的实现Java代码: