100までの素数を表示する

説明

1から100までの素数を計算して表示します。

素数は2以上の自然数で正の約数が1と自分自身の数のみであるという数です。このプログラムでは奇数のみを素数かどうかを判定しています。偶数は調べるまでもなく素数ではないためです。

Studioで試す

以下のリンクから Jasmine Tea でこのサンプルプログラムを Studio 画面で開いて実際に試すことができます。プログラムを実行したいときは、エディターの右下にある青色の「実行」ボタンを押してください。

Studio で開く

プログラム

// 100までの素数を表示する
cls
print 2;",";
for i=3 to 200 step 2
  for j=2 to i
    n=i%j
    if n=0 and i<>j then
      exit for
    end if
    if n=0 and i=j then
      print i;",";
    end if
  next
next

解説

2行目で画面を消去しています。

3行目で最初の素数である2を表示しています。

4行目から3からはじめて100までの数値をforを使って変数iに入れていきます。step 2とすることで3,5,7,9...のように奇数だけになります。偶数は2以外は素数にならないので、このようにすることで処理速度が速くなります。

5行目では2から変数iまでを繰り返します。これは変数iが素数かどうかを2から順番に割り切れるかどうかを調べるためです。総当たり方式なので速くはありません。

6行目で調べる値を変数jで割ったあまりを求めています。ここであまりが0になるかどうかがポイントです。

7行目は割ったあまりが0だけど最後の値ではない(変数iとjの値が等しくない)場合は素数ではありません。これ以上調べても時間の無駄なので8行目でexit forを使って一番内側のループ(繰り返し)から抜けます。つまり5行目のforのループブロックから抜けて14行目に処理を移します。

10行目ではあまりが0でなおかつ最後の値の場合は素数なので11行目でprintを使って画面に値を表示します。