我正在尝试从Project Euler中解决问题,它涉及对大数字进行计算。我知道long用来分配大数字,但是当我编译它时会给我以下错误:
错误:整数过大:600851475143 long num = 600851475143;
这是我的代码:
public static void main(String[] args) {
long bigDiv, div = 0;
long num = 600851475143;
bigDiv = 1;
for(long i = 2; i < num; i++) {
if(num % i == 0) {
for(long j = 2; j < i; j++) {
if(i % j == 0)
div++;
}
if(div == 0)
bigDiv = i;
}
}
System.out.println("Biggest prime divisor = " + bigDiv);
}
答案 0 :(得分:8)