A - うるう年
Editorial
/
高橋君は忘れっぽい性格なので、うるう年は 2 月 29 日の存在を毎回忘れてしまいます。
そこで、自動でうるう年かどうかをコンピュータに教えてもらえるようにしたいと思います。
入力として与えられた年がうるう年かそうでないかを判断しなさい。
ただし、うるう年は以下の規則で決定します。
2100 年は規則 2 を満たしますが、規則 3 を満たさないのでうるう年ではありません。
入力は以下の形式で標準入力から与えられる。
与えられた年がうるう年ならば
なお、最後には改行を出力せよ。
Time Limit: 2 sec / Memory Limit: 64 MB
問題文
そこで、自動でうるう年かどうかをコンピュータに教えてもらえるようにしたいと思います。
入力として与えられた年がうるう年かそうでないかを判断しなさい。
ただし、うるう年は以下の規則で決定します。
- 規則 1:4 で割り切れる年はうるう年である。
- 規則 2:100 で割り切れる年をうるう年ではない。
- 規則 3:400 で割り切れる年はうるう年である。
- 規則 4:規則 1〜3 のいずれも満たさない場合は,うるう年ではありません。
2100 年は規則 2 を満たしますが、規則 3 を満たさないのでうるう年ではありません。
入力
Y
- 年を表す整数 Y(1000 ≦ Y ≦ 2999) が 1 行で与えられる。
出力
YES
、そうでなければ NO
を標準出力に 1 行で出力せよ。なお、最後には改行を出力せよ。
入力例 1
1001
出力例 1
NO
- 1001 を 4 で割ると 250 あまり 1 になり、規則 1 を満たさないので、うるう年ではありません。
入力例 2
2012
出力例 2
YES
- 2012 を 4 で割ると 503 になり割り切れるので規則 1 を満たします。
- しかし、100では割り切れないので規則 2 は満たさず、うるう年になります(うるう年ではありません、は間違いですので訂正させて頂きました)。
入力例 3
2100
出力例 3
NO
- 2100 は 4 で割り切れるので、規則 1 を満たします。
- また、100 で割ると 21になり割り切れるので、規則 2 を満たします。
- しかし、400 では割り切れず規則 3 を満たさないので、うるう年ではありません。
入力例 4
2000
出力例 4
YES
- 2000 は 4 で割り切れるので、規則 1 を満たします。
- また、100 でも 400 でも割り切れるので規則 2 も 3 も満たします。
- よって、2000 年はうるう年になります。