若一個n位的數(shù)字串滿足下述條件,則稱其是循環(huán)數(shù)(cyclic):將這個數(shù)字串視為整數(shù)(可能帶有前導(dǎo)0),并用任意一個 1 到 n 之間(包含1和n)的整數(shù)去乘它時, 會得到一個將原數(shù)字串首尾相接后,再在某處斷開而得到的新數(shù)字串所對應(yīng)的整數(shù)。例如,數(shù)字 142857 是循環(huán)數(shù),因為:
142857 *1 = 142857
142857 *2 = 285714
142857 *3 = 428571
142857 *4 = 571428
142857 *5 = 714285
142857 *6 = 857142。
請寫一個程序判斷給定的數(shù)是否是循環(huán)數(shù)。
注意:在此題中,輸入數(shù)字串允許帶前導(dǎo)0,且前導(dǎo)0不能被忽略,例如“01”是兩位數(shù)字串,而“1”是一位數(shù)字串。但將數(shù)字串轉(zhuǎn)化為整數(shù)做乘法運算或比較運算時,可以忽略前導(dǎo)0。
142857
1