2011年11月18日 星期五

347 - Run

一個N位數字的「迂迴數」(runaround number)定義如下:

  • 為一個剛好有N個位數的整數,每個位數值介於1~9之間。
  • 每個位數值指示下一個位數在其右邊的第幾個,若超過最右邊的位數請循環到最左邊。
  • 最左邊的位數為第一個位數,依序找出下一個位數,每個位數剛好只出現一次,且循環到第一個位數。
  • 每個位數只會走訪一次。

例如數值81362是一個迂迴數,因為:
  1. 由最左端的位數8開始。
  2. 8的右邊第8個位數為6(作一次循環到最左邊)。
  3. 6的右邊第6個位數為2。
  4. 2的右邊第2個位數為1。
  5. 1的右邊第1個位數為3。
  6. 3的右邊第3個位數為8,剛好就是第一個位數。

Input and Output

輸入會有多組測試資料,每組資料一個整數R,其位數介於2~7個,請輸出大於等於R且最小的迂迴數,對於每組測試資料一定存在該數字,其格式請參考範例資料。當R=0表示測試資料結束。

Sample Input

12
123
1234
81111
82222
83333
911111
7654321
0

Sample Output

Case 1: 13
Case 2: 147
Case 3: 1263
Case 4: 81236
Case 5: 83491
Case 6: 83491
Case 7: 913425
Case 8: 8124956

原文出處

沒有留言:

張貼留言