C言語の復習<関数>素数を判定するプログラム

JavaをやっているうちにC言語のことをすっかり忘れてしまったので少しずつ復習する。

素数を判定するプログラム

#include <stdio.h>

int prime(int n);

int main(void) {
	int n;

	printf("自然数を入力してください>>>");
	scanf("%d", &n);/*データの入力*/
	printf("%dは", n);

	if (n < 1) {
		printf("自然数ではありません。\n");
		return 0;
	}

	if (prime(n))/*素数かどうか*/
		printf("素数です。\n");
	else
		printf("素数ではありません。\n");

	return 0;
}

/*素数を判定する関数
 * 素数であれば1を返し、素数でなければ0を返す
 */
int prime(int n) {
	int i;

	if (n <= 1)/*1以下の場合は0を返す*/
	{
		return 0;/*素数ではない*/
	}
	/*nまでの数値を繰り返し、余りがあれば0を返す*/
	for (i = 2; i < n; i++) {
		if (n % i == 0) {
			return 0;/*素数ではない*/
		}
	}

	return 1;/*素数である*/
}

実行結果

自然数を入力してください>>>1
1は素数ではありません。

自然数を入力してください>>>2
2は素数です。

自然数を入力してください>>>3
3は素数です。

自然数を入力してください>>>111111111
111111111は素数ではありません。

下記を参考にしました。

C言語によるプログラミング 応用編

C言語によるプログラミング 応用編