素数生成プログラム
「素数生成プログラムを書いてみたら勉強になるよ」と人間に言われたので、「えっそれ難しいんじゃないですか」と僕は言った。「任意のn番目の素数を求める関数(数学の意味で)」は存在しないらしく、それと勘違いしたから言ったけど、小さい方から順に求めるなら難しくない。ので、書いてみた。いつ始めたか覚えてないけど、30分か1時間くらいかかってしまった。恥ずかしい。
#include<stdio.h> void main(void){ int a, i, p; char flag; printf("Until what number do you want to search primary numbers?\n"); scanf("%d", &p); //2だけ始めに表示しておく printf("2, "); //2から(自分-1)までで,1つでも自分を割り切れる整数があったら素数でない for(a = 3; a <= p; a++){ flag = 0; for(i = 2; i < a; i++){ if((a % i) == 0){ flag = 1; break; } } if(flag == 0){ printf("%d, ", a); } } }