私は最近 Java の学習を始めました。現在、いくつかの Eulerproject の問題を解決しようとしています。
タスクは次のとおりです:数 600851475143 の最大の素因数は何ですか?
このコードを作成できましたが、エラーが発生します。
コード
package exercises;
import java.util.ArrayList;
public class Euler3 {
// Main code
public static void main(String[] args) {
System.out.println( getPrimeFactors(15) );
}
// Code for breaking a number to prime factors
public static ArrayList getPrimeFactors(int n){
ArrayList factors = new ArrayList();
int d = 2;
while(n > 1 ){
while(n%d == 0 ){
factors.add(d);
n /= d;
}
d +=d;
}
return factors;
}
}
エラー:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at exercises.Euler3.getPrimeFactors(Euler3.java:22)
at exercises.Euler3.main(Euler3.java:9)
私は何を間違っていますか?
ありがとう