閏年(うるうどし)を判定する計算方法について

ふと気づくと、今日は2月29日でした。基本的に4年に一度しか巡ってこない日ですね。つまり今年(2020年)は閏年(うるう年)ということなんです。

その年が閏年かどうかを計算する方法は、実はとってもカンタン。

まずは、その年を西暦で表してみましょう。その年が4で割り切れたら、基本的にはその年は閏年なんですね。

閏年を判定する計算方法

例えば「2019年」で計算してみましょう。

2019 ÷ 4 = 504 余り 3

ということで「2019年は閏年ではない」ことがわかりました。

4で割って余りがないならうるうどしということがポイントです。(ルール①)

ただし、滅多にないふたつの例外があるんです。

閏年を判定する計算方法の例外

その年がうるうどしかどうかは、西暦で表して4で割り切れるかどうかで判定できることがわかりました。

ただし例外がふたつありまして。例外のひとつめは「その年が100で割り切れたらうるうどしではない」ということなんですね。(ルール②)

そして、例外のふたつめは「その年が400で割り切れたら、やっぱりその年はうるうどし」なんですね。(ルール③)

西暦2000年がうるうどしだったかどうか確認してみましょう。

2000 ÷ 400 = 5 余り 0
2000 ÷ 100 = 20 余り 0
2000 ÷ 4 = 500 余り 0

ということで、4でも100でも400でも割り切れました。だからルール③があてはまって、2000年はうるうどしになります。

次は西暦2100年がうるうどしかどうかです。

2100 ÷ 400 = 5 余り 100
2100 ÷ 100 = 21 余り 0
2100 ÷ 4 = 525 余り 0

ということで、4と100で割り切れましたが、400では割り切れませんでした。ですので、ルール②があてはまり、2100年はうるうどしではないことになります。

最後に、西暦2020年がうるうどしかどうかです。

2020 ÷ 400 = 5 余り 20
2020 ÷ 100 = 20 余り 20
2020 ÷ 4 = 505 余り 0

ということで、4で割り切れましたが、100や400では割り切れませんでした。ですので、ルール①があてはまり2100年はうるうどしだということがわかります。

もしプログラムをつくるように場合は、まずルール③があてはまったらうるうどしで確定です。

次にルール②があてはまったら、うるうどしではありません。

最後に、残った年号の場合に、ルール①があてはまったらうるうどしだということになりますね。

まとめ

今回は、うるうどしかどうかを判定する方法について書いてみました。

年号のプログラミングをしてみたことがある方は、すでにご存じだったのではないでしょうか。

あと、うるうどしで追加されている2月29日をなんと言うかですが、これを「うるう日」と呼びます。

そもそもどうしてうるうどしが必要なのかと言いますと、地球が太陽の周りをまわる周期に、なにもしないとすこしずつずれが生じてしまうからなんです。

なので、うるうどしをたまに追加して補正しているんですね。

そして、ごくごくたまに、「閏秒」というものがこっそり追加されていることがあります。

そのタイミングに、電話の時報を聞いてみますと、「ピッ ピッ ピッ ポーン」の「ピッ」が増えたりしているらしいですよ。

コメント

この記事へのコメントはありません。

コメントする