★★ Java の宿題ここで答えます Part 61 ★★
686 :
大学の宿題です。お願いします/(_ _)\:
[課題2]
チェビシェフの定理を調べるプログラムを改良し高速化を目指しなさい.改良前の見本プログラムは第9回の講義終了後にe-classに掲載する.なお,講義中に見本プログラムの解説を行う.
さらに,以下の数学未解決問題についてもコンピュータを用いて,可能な限り大きいnまで調べること.
[テェビシェフの定理]
1より大きい自然数nに対して,nと2nの間には必ず素数が存在する.
(ベルトランの仮説とも言うが,1850年にテェビシェフによって証明されたので定理となった.)
[数学未解決問題]
1より大きい自然数nに対して,nの2乗と(n+1)の2乗の間には必ず素数が存在する.
(こちらはまだ証明されていないので,仮説である.)
687 :
大学の宿題です。お願いします/(_ _)\:2007/07/01(日) 19:45:11
チェビシェフはここまでは分かっていますが、より速くするにはどうすればいいでしょう?
public class KIMOTI {
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){
int n,p;
long start = System.currentTimeMillis();
for(n=2; n<=50000; n++){
for(p=n+1; p<2*n; p++){
if(prime(p)==2){
//System.out.println("自然数n=" + n + "の時、素数は存在する。");
break;
}
}
if(n%500==0){
long stop = System.currentTimeMillis();
System.out.println(n+" "+(stop-start));
}
}
}
}
テンプレ
ちょっと上に答えがある
ていうか高速化する意味はなんだろう・・・
PC9821で計算したあと、現在の最新モデルPCで計算すれば高速化(=ω=.)b
692 :
大学の宿題です。お願いします/(_ _)\:2007/07/01(日) 20:52:09
上に出てたやつでやったら、↓の文章がコンソールのところに出てきたんですが・・・
どこが間違ってるってことなんでしょう?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Shukudai453.main(Shukudai453.java:26)
二行目の()の中をクリックすると、ソースコードのこの部分↓が青くなるんですが・・・
int n = Integer.parseInt(args[0]);
死んだ方がよい
694 :
大学の宿題です。お願いします/(_ _)\:2007/07/01(日) 21:02:44
明日の15時が期限っす・・・
大学の選択か講義の選択から間違っているんだと思う
696 :
デフォルトの名無しさん:2007/07/01(日) 21:06:14
パターン青!使徒です!!
699 :
デフォルトの名無しさん:2007/07/01(日) 21:21:52
すいません・・・引数指定ってなんですか?
java appliclass args
703 :
デフォルトの名無しさん:2007/07/01(日) 21:40:03
ありがとうございました