AtCoder Regular Contest 002

A - うるう年


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 64MB

問題文

高橋君は忘れっぽい性格なので、うるう年は 229 日の存在を毎回忘れてしまいます。
そこで、自動でうるう年かどうかをコンピュータに教えてもらえるようにしたいと思います。
入力として与えられた年がうるう年かそうでないかを判断しなさい。

ただし、うるう年は以下の規則で決定します。
  • 規則 14 で割り切れる年はうるう年である。
  • 規則 2100 で割り切れる年をうるう年ではない。
  • 規則 3400 で割り切れる年はうるう年である。
  • 規則 4:規則 13 のいずれも満たさない場合は,うるう年ではありません。
ただし、規則 13 の内に複数満たすものがあれば後の規則(数字の大きな規則)が優先されます。 例えば、2000 年は規則 3 を満たすのでうるう年です。
2100 年は規則 2 を満たしますが、規則 3 を満たさないのでうるう年ではありません。

入力

入力は以下の形式で標準入力から与えられる。
Y
  • 年を表す整数 Y(1000 ≦ Y ≦ 2999) が 1 行で与えられる。

出力

与えられた年がうるう年ならば YES、そうでなければ NO を標準出力に 1 行で出力せよ。
なお、最後には改行を出力せよ。

入力例 1

1001

出力例 1

NO
  • 10014 で割ると 250 あまり 1 になり、規則 1 を満たさないので、うるう年ではありません。

入力例 2

2012

出力例 2

YES
  • 20124 で割ると 503 になり割り切れるので規則 1 を満たします。
  • しかし、100では割り切れないので規則 2 は満たさず、うるう年になります(うるう年ではありません、は間違いですので訂正させて頂きました)。

入力例 3

2100

出力例 3

NO
  • 21004 で割り切れるので、規則 1 を満たします。
  • また、100 で割ると 21になり割り切れるので、規則 2 を満たします。
  • しかし、400 では割り切れず規則 3 を満たさないので、うるう年ではありません。

入力例 4

2000

出力例 4

YES
  • 20004 で割り切れるので、規則 1 を満たします。
  • また、100 でも 400 でも割り切れるので規則 23 も満たします。
  • よって、2000 年はうるう年になります。

Source name

ARC 002

Submit提出する