舉個例子來說明: 一個數5553141:他包含了2個1,1個3,1個4,3個5; 那么和起來寫:21131435就是5553141的Inventory 數; 然后題目要求,給出一個數n( 最多80位),他可以被歸到如下四類: 1)n is self-inventorying(n用給出那個數代,下同) 即對給出的數,求出他的Inventory 數,如果是本身,則輸出該行; 例如:31123314的Inventory數仍然是31123314,輸出: 31123314 is self-inventorying 2) n is self-inventorying after j steps 對一個數求他的Inventory 數,然后再對他的Inventory數繼續求,如實我們可以得到一個序列:n[0]->n[1]->n[2]…n[j]…. 如此往復,當1<=j<=15時。如果n[j]的Inventory數等于他本身,則輸出該行; 例如: 21221314 -> 31321314 -> (31321314),輸出: 21221314 is self-inventorying after 2 steps 3) n enters an inventory loop of length k 仍然用n的序列說明: n[0]->n[1]->n[2]…n[j]…n[i]…. (0<=j<i<=15),當n[i]的Inventory數(記作n[k]) 等于n[0]…n[i-1]的中n[j]時,那么很顯然,再求下會形成一個循環;因此我們要找出是否存在最小(k>=1)使得n序列夠成循環,輸出這個k; 例如: 314213241519 --> 412223241519 -->314213241519,對應上述的n[j] --> n[i] -> (n[k]) 4) n can not be classified after 15 iterations 如果在找出15個數后,沒有滿足上述的任何一條,那么就輸出該行;