• 締切済み

C言語の素数判定について質問です。

C言語の素数判定について質問です。 「与えられた数値以下で、最大の素数を返す関数を作成しなさい。 素数が存在しない場合、0を返すこと。 int max_prime (int x);を使用する。」 という問題なのですが。まったくの初心者なので何をすればよいか分かりません。 例として以下のようなプログラムを見せられたのですが、他の例などないでしょうか。 もし分かるかたがいらっしゃれば教えていただけないでしょうか。よろしくお願いします。 #include<stdio.h> int is_prime (int i){ int a; for(a=2;a<=i-1;a++){ if(i%a == 0){ return i; } } return 0; } int max_prime(int x){ int i; for(i=x;i>1;i--){ if(is_prime(i)!=i){ return i; } } return 0; } int main(void){ int x,z; scanf("%d",&x); z=max_prime(x); printf("%d数値以下で最大の素数は[%d]である!\n",x,z); return 0; }

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

「素数 プログラム」で検索してみてください。 たくさんみつかります。

関連するQ&A