重複の可能性:
うるう年を見つける方法は?
うるう年の正確な定義は何ですか?AFAIK「4で割り切れる年はうるう年です。しかし、1世紀の間、400で割り切れる年はうるう年です。」
しかし、その定義により、100、200、300、400 ....最大1700年はうるう年ではありません!しかし、グレゴリオ暦では、それらはすべてうるう年です。これを確認してください。
Linuxで「call1700」を試して確認することもできます。
したがって、うるう年の正しいアルゴリズムは次のようになります。
if ( (year % 4 == 0) && ( year <= 1700 || year % 100 != 0 || year % 400 == 0 ))
printf("%d is a leap year.\n", year);
else
printf("%d is not a leap year.\n", year);
しかし、これはグレゴリオ暦に固有のものですか?そうだとしても、なぜここで言及されていないのですか?
よろしく、
PS:グレゴリオ暦の発信者の歴史は興味深いようです。 1752年の9月をチェックしてください。