0
改造できない
今はこの演習問題が解けなくて困っています。
「エラトステネスのふるい」のプログラム(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();}}
どうやって改造すれば良いのか全然分かりません。
わかる人がいましたら教えて下さい。