日誌

記念日 うるう年

2月は28日までだったり、うるう年は29日までだったり・・・
でも、うるう年ごとにスマホやパソコンの日付を設定せずに自動で表示されています。

うるう年は「4の倍数年にあり、でも100の倍数年には無く、でも400の倍数年にはある」というものです。
法則性があれば、プログラムで解決しやすいことになります。
たとえばC言語などで丁寧に組み立てるとしたら、次のように

  if(year % 4 == 0){
   if(year % 100 == 0){
    if(year % 400 == 0){
     days = 29;
    }else{
     days = 28;
    }
   }else{
    days = 29;
   }
  }else{
   days = 28;
  }


考え方次第では、もっと少ない処理で同じことができます。(%は余りを求める演算)