;素数例:2039
d=0 s="" input d,300,20,0 button "calc",*start mesbox s,480,400,0 stop
*start s="" cls input d,300,20,0 button "calc",*start
n=0 m=0 l=0 p=0 // 変数flag:素数であるの時1、素数でない時0 flag=0 s="" // dは2の倍数であるか調べる // 2は2n+1ではないので // whileループの中に入れれない n=d/2 m=d\2 if d!=2{ if m==0{ s+="× "+2+" * "+n+"\n" flag=1 }else{ p=(n+1)*2 s+="○ "+2+" * "+(n+1)+" = "+p+"\n": } }
// 変数tmp:dがtmpの倍数であるか調べる数 // 値は2n+1 tmp=1 tmp+=2 // 変数tmp02:dがtmpの2乗より大きいか調べる数 tmp02=tmp*tmp n=0 m=0 l=0 p=0
// dがtmpの2乗より大きい限りループ while tmp02 <=d n=d/tmp m=d\tmp if m==0{ s+="× "+tmp+" * "+n+"\n" flag=1 }else{ p=(n+1)*tmp s+="○ "+tmp+" * "+(n+1)+" = "+p+"\n" } tmp+=2 tmp02=tmp*tmp n=0 m=0 l=0 p=0 await 1 wend // flagの値で分岐して結果を表示 if flag=0{ s+=""+d+"は素数です" }else{ s+=""+d+"は素数ではありません" } mesbox s,480,400,0 stop |
0 件のコメント:
コメントを投稿