時間制限:1000ミリ秒
メモリ制限:10000KB
問題
Round and Round We Go
n文字の数字列が与えられる。
このn文字に1~nまでの数字を掛け算した結果が元の数字を循環シフトしたもの同じになるならis cyclicと出力する。
掛け算の結果に循環シフトでないものが一つでも含まれるならis not cyclicと出力すること。
142857について検証する。
142857 *1 = 142857
142857 *2 = 285714
142857 *3 = 428571
142857 *4 = 571428
142857 *5 = 714285
142857 *6 = 857142
は全て142857を循環シフトしたものである。
よって142857 is cyclicと出力する。
掛け算の結果が元の桁数を超えるなら桁数を超えた部分は無視する。
入力
数字列が一行ずつ与えられ入力の終了はEOFで与えられる。
出力
数字列に掛け算したものが循環シフトしたものであるなら
数字列 is cyclicと出力する
でないなら
数字列 is not cyclic
と出力する。
入力の例
142857
142856
142858
01
0588235294117647
出力の例
142857 is cyclic
142856 is not cyclic
142858 is not cyclic
01 is not cyclic
0588235294117647 is cyclic
出典
Greater New York 2001