ゴールドバッハの予想(4以上の任意の偶数は,2つの素数の和で表せる)を表すJavaプログラムを作りたいのですが、できるだけ計算経過時間を短縮したいんです。 下のプログラムを改善して、計算経過時間が速くなるようにして下さい。 どういう理由で改善したのかも付け加えてくれると嬉しいです。 -------------------------------------------------------------------------------------------------------------------------------- public class Gold { static int prime(int number){ int count=0; for(int i=1; i<=number; i++){ if(number%i==0) count++; } return count; } public static void main(String[] args) { long start = System.currentTimeMillis(); int n, p; for(n=4; n<100000; n+=2){ for(p=2; p<n; p++){ if(prime(p)==2 && prime(n-p)==2){ System.out.println(n + "=" + p + "+" + (n-p)); break; } } if(p==n){ System.out.println("この予想は間違いと判明!"); break; } if(n%1000==0){ long stop = System.currentTimeMillis(); System.out.println(n + "" + (stop-start)); } } } } --------------------------------------------------------------------------------------------------------------------------------
↧