課題 素数表示

 分からないからってムキになって考えてたら、普通に電車乗り遅れた。
 まあ、出来たので結果オーライ。
 次からは気をつける


   素数の定義

1とその数でしか割り切れない数


書いたプログラム

int j , y , i ;
y = 100 ;
 for ( i = 2 ; i <= y ; i++ )
  {
   for ( j = 2 ; j <= i ; j++ )
   {
    if ( j < i && i % j == 0 )
    {
     break ; 
    }
     else if ( i == j )
     {
      println ( i ) ;
     }    
 
   }
  }

これは2から100までの数字から素数を抜きだすもの

なんでも素数は1とその数(以後 i とする)以外で割り切れてしまってはいけないから
赤色のコードでは 「 i 」 以外で割り切れてしまった場合
 「 i 」 の素数判定をやめるようにしてある



   赤の if 文の j < i 

赤のif文の前に j <= i を書いてあるのに再び同じようなことを入れるのか
これを入れないと if のときに i == j のときにも true になってしまい
素数に構わず何でも 「break」 してしまう



   else if ( i == j ) の必要性

これも必要。なぜなら 素数 / 素数 のときはこっちに来るから
 「 i 」 と 「 j 」 が一致したときにだけ (つまり1回のみ)表示させないといけない

                                                                                                                                                          • -

見やすく書いたつもり 間違いあったらゴメンナサイ つぎはフィボナッチ数列です