1047 Round and Round We Go

Last-modified: 2011-11-29 (火) 15:31:09

原文


時間制限: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