サンプルプログラム
100までの素数を表示する
説明
1から100までの素数を計算して表示します。
素数は2以上の自然数で正の約数が1と自分自身の数のみであるという数です。このプログラムでは奇数のみを素数かどうかを判定しています。偶数は調べるまでもなく素数ではないためです。
Studioで試す
以下のリンクから Jasmine Tea でこのサンプルプログラムを 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を使って画面に値を表示します。