7-1 掉入陷阱的數字 (15分)


對任意一個自然數N0​​,先將其各位數字相加求和,再將其和乘以3后加上1,變成一個新自然數N1​​;然后對N1​​重復這種操作,可以產生新自然數N2​​;……多次重復這種操作,運算結果最終會得到一個固定不變的數Nk​​,就像掉入一個數字“陷阱”。

本題要求對輸入的自然數,給出其掉入“陷阱”的過程。

輸入格式:

在一行內給出一個自然數N0​​(N0​​<30000)。

輸出格式:

對於輸入的N0​​,逐行輸出其掉入陷阱的步驟。第i行描述N掉入陷阱的第i步,格式為: i:Ni​​ (i1)。當某一步得到的自然數結果Nk​​(k1)與上一步Nk1​​相同時,停止輸出。

輸入樣例:

5
 

輸出樣例:

1:16
2:22
3:13
4:13

 1 #include<stdio.h>
 2 int cmd(int n)
 3 {
 4     int m=0,temp;
 5     while(n>0)
 6     {
 7         m=m+n%10;
 8         n=n/10;
 9     }
10     temp=3*m+1;
11     return temp;
12 }
13 int main()
14 {
15     int n,t,count=1;
16     scanf("%d",&n);
17     while(1)
18     {
19         t=cmd(n);
20         printf("%d:%d\n",count,t);
21         count++;
22         if(n==t)
23             break;
24         n=t;
25     }
26     return 0;   
27 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM