プログラミングを始めて、最初のほうに覚えるのがうるう年の計算。
自称プログラマさんは暗記していると思います。
そして、それ以外の人はほとんど知らないような気がします。
・西暦で、4で割り切れる年はうるう年。
・上記の場合でも、100で割り切れる年はうるう年ではない。
・さらに、400で割り切れる年はうるう年。
なぜこういうややこしいことになっているかというと、地球は太陽のまわりを365.2422日で1周するから。(365.2646、365.2564など、計算方法によっていろいろありますが)
つまり、365 + 1/4 - 1/100 + 1/400ってわけ。
もう少し厳密にすると「さらに、10000年で割り切れる年はうるう年ではない」という条件も必要になります。
「10000年なんて先だからいいじゃん」ってことでこの条件は外されているんだと思いますが、それでは2012年現在、「100で割り切れる」「400で割り切れる」なんてのは気にしなくていいのでは?
いちばん身近な”2000年”はうるう年なので、「4で割り切れる年はうるう年」だけでよさそうです。
「4で割り切れる年はうるう年」という単純なロジックにしましょう!
そしてコンピュータ専門学校の先生も、生徒がこういう解答をしても正解にしてあげましょう。
「円周率=3」の時代だから、うるう年計算もアバウトで!
どうせ2100年には今作ったプログラムは使われていませんから。
P.S.
誕生日・売上日など、普段使う日付は大丈夫だと思います。
と思ったら、ギネス記録の長寿の方は1896年生まれだそうです。
1900年がひっかかります・・・
誕生日を入力する必要のあるシステムでは、もうしばらくは「100で割り切れて、400で割り切れて」という条件は必要。
悠長に待ってたら2100年も入力される可能性がでてくるし・・・
結論:やっぱりきちんと計算しないとダメですね。