時間制限:1000ミリ秒
メモリ制限:65536KB
問題
Candy Distribution
n人の生徒が車座になって座っており、生徒には時計回りに1~n番までの番号が付いている。
先生が時計回りに回りながら生徒にキャンディを配っていく。
先生は最初1番の生徒にキャンディを渡し、次に2番の生徒にキャンディを渡す。
その次は一人飛ばして4番の生徒にキャンディを渡し、次は2人飛ばして7番の生徒にキャンディを渡す。
次は3人飛ばして11番の生徒というように、一人ずつ飛ばす人数を増やしながら生徒にキャンディを配っていく。
先生のキャンディが無限にあるとして、生徒の人数nが決まった時このルールで全ての生徒がキャンディをもらえるかどうかを判定せよ。
全ての生徒に配ることが出来るならYES、出来ないならNOと出力せよ。
入力は一行に一つの数字が与えられ、生徒の人数nが与えられる。
出力は配ることが出来るならYES、出来ないならNOと出力せよ。
生徒の人数は十億以内と仮定してよい。
入力の例
2 3 4
出力の例
YES NO YES
出典
POJ Monthly--2007.09.09, ailyanlu@zsu