- 698 名前:デフォルトの名無しさん [2008/04/17(木) 11:19:39 ]
- 今はこの課題が解けなくて困っています。
「エラトステネスのふるい」のプログラム(Prime.java)を、途中経過が分かるよう 次のように改良せよ。具体的には、以下のようにプログラムを改造せよ。 2の倍数をふるいにかけた直後の配列aの状態を画面に表示、 3の倍数をふるいにかけた直後の配列aの状態を画面に表示、 4の倍数をふるいにかけた直後の配列aの状態を画面に表示、 ・ N/2 の倍数をふるいにかけた直後の配列aの状態を画面に表示 改造後のプログラムと、実行結果を示せ(N=30程度で良い)。正しく動いている という説明も述べよ。 class Prime { public static void main(String args[]){ int N = 1000; int i,j; int a[] = new int[N+1]; for(a[1]=0,i=2;i<=N;i++){ a[i] = 1;} for(i=2;i<=N/2;i++){ for(j=2;j<=N/i;j++){ a[i*j] = 0; }}for(i=1;i<=N;i++){ if(a[i] > 0) { System.out.print(i+" ");}} System.out.println();}} わかる人がいましたら教えて下さい。
|

|