タグ

ブックマーク / kappuccino-2.hatenadiary.org (1)

  • 1行で書けるうるう年判別法 - プログラマはサイコロを振らない

    ある年がうるう年(閏年)であるかどうかの判別は意外と複雑です。 西暦が4で割り切れる年はうるう年 ただし、4で割り切れても100で割り切れる年はうるう年でない ただし、100で割り切れても400で割り切れる年はうるう年 つまり、2004年、2008年、…、2096年はうるう年ですが、2100年は100で割り切れるためうるう年でありません(かわいそうなことに、2月29日生まれの人は、2096年から2104年まで、8年間も誕生日がやって来ないわけですね)。しかし、2000年はさらに400で割り切れるのでうるう年となります。 単純な判別 うるう年を単純に判別しようとすると、西暦を格納したyという変数があるとして、2月の日数を表す変数nに28か29を代入するには、 if(y % 4 == 0){ if(y % 100 == 0){ if(y % 400 == 0){ n = 29; }else{

    1行で書けるうるう年判別法 - プログラマはサイコロを振らない
  • 1