💡

C言語で素数を求めるプログラムを書いてみた

2022/09/13に公開

C言語で素数を求めるプログラムを書いてみた

またまた拙いけど、C言語で素数を求めるプログラムを書いてみた。

素数って?

「1とその数字自身以外では割り切れない数」のこと。
「博士の愛した数式」にも出てくる。

書いてみた

何も考えずに書いたのでめっちゃ汚ない…!

#include <stdio.h>
#include <stdbool.h>
int main(void){
    // 1000までの素数を求める
    int num = 1000;
    bool flag = false; /* 素数ならtrue */
    int i = 1;
    int j = 1;
    int count = 0;
    
    // 素数を求めるプログラム
    for(i = 1; i <= num; i++)
    {
        printf("%d は素数?", i);
        if(i % 2 == 1) /* 奇数は素数の可能性ある */
        {
            if(i == 1) /* 1 は素数 */
            {
                flag = true;
            }
            for(j = 1; j <= i; j = j+2)
            {
                if(i % j == 0)
                {
                    count++;
                }
            }
            if(count == 2){
                flag = true;
            }
            // 表示
            if(flag)
            {
                printf("--->yes\n");
                flag = false;
            }
            else {
                printf("--->no\n");
            }
            count = 0;
        }
        else { /* 偶数は素数じゃない */
            if(i == 2)
            {
                printf("--->yes\n");
            }
            else{
                printf("--->no\n");
            }
            continue;
        }
    }
}

追記

間違えてたので修正しました。
2は素数でしたね…w

Discussion