题意比较繁琐:就是统计0-9的个数,然后将它们按顺序组成一个新的字符串。比如5553141,有3个5,1一个3,2个1,1个4.按顺序排列后就是 21131435。 一次统计称为一次迭代。最多迭代15次。最后会的出4种结果。
1.第一次迭代得到的结果和源字符串相等,这时输出n is self-inventorying 。
2.从某次迭代开始得到结果不再变化这时输出n is self-inventorying after j steps 。 j为到达不变化的字符串时迭代的次数。
3.以上两种情况之外若得到的字符串与前面某个字符串相同,则进入循环,输出n enters an inventory loop of length k 。k是这两个相同的串之间的距离。
4.若以上3种情况均不满足, 输出n can not be classified after 15 iterations。
将每次输入的字符串迭代15次,存入字符串数组str[],然后比较。
1. 若str[0]==str[1] 则满足上述第一种情况。
2. 1-15循环,若从某个位置开始,一个串与它前面一个串相等,则满足上述第2种情况。
3. 从0-14开始对每个i调用find_loop函数, 函数中从i+1开始对j进行自增, 若str[j]==str[i],则满足上述第3种情况。k=j-i.
4. 以上三种均不满足,均按第4种处理。