数学

「素数の日」は、12月23日というのはどうでしょうか(その2)

喜んでいるわたし

1年に1回ある「素数の日」について、2年前の記事で紹介しました。ほぼ同じ記事ですが、西暦も加えた8桁で考えてみました。

最初に結論

1223 は、下位の桁から見て 3、23、223、1223 のすべてが素数です。このような性質を持つ数は、1223 だけです。だから、12月23日を『素数の日』と呼ぶのはどうでしょうか。

このような日は以下の17日しかありません。素数が4個でてくるのは、12月23日だけです。

 103
 107
 113
 223
 307
 313
 317
 503
 523
 607
 613
 617
 823
 907
1013
1103
1223

年(西暦)も合わせるとどうなるの?

残念ながら、20241223 は素数ではありません。

12月23日に西暦4桁を前に付けた8桁の数が素数となる年を調べてみましょう。以下の C プログラムを用いて、1900年から2100年の間で該当する年を求めました。

#include <stdio.h>

int is_prime(int n)
{
	int answer = 1;
	int i;

	if (n <= 1) {
		answer = 0;
	}
	for (i = 2; i * i <= n; ++i) {
		if (n % i == 0) {
			answer = 0;
			break;
		}
	}

	return answer;
}

int main(void)
{
	int year, month, day;
	int leap;
	int date;

	for (year = 1900; year <= 2100; ++year) {
		int date = year * 10000 + 1223;
		if (is_prime(date) == 1) {
			printf("%8d\n", date);
		}
	}

	return 0;
}

出力は、以下となります。

19131223
19141223
19161223
19311223
19321223
19371223
19381223
19491223
19611223
19621223
19701223
19771223
19911223
19951223
19981223
20031223
20181223
20251223
20371223
20401223
20421223
20431223
20461223
20491223
20641223
20721223
20781223
20821223
20851223
20911223
20931223

来年の12月23日は、素数になるようです。楽しみにしておきます。

最後に

プログラムで計算し、このような結果が得られると楽しくなります。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA