我可不是为了被全人类喜欢才活着的,只要|

王陸

园龄:6年11个月粉丝:2052关注:178

数字小游戏

Description

游戏从一个整数S开始,只要它的位数多于1,就计算它各位的乘积,并且不断重复这个过程。比如:我们从95开始,9 × 5 = 45,45不是1位数,继续4 × 5 = 20.继续2 × 0 = 0.至此只有1位数,结束。

再比如:如果从396开始
3 × 9 × 6 = 162
1 × 6 × 2 = 12
1 × 2 = 2
最后得到2。

 

 

Input

 每行开始1个整数,表示起始值。最后以0结束。

 

 

Output

 

 

 

游戏从开始到结束的序列,从起始值开始。

 

 

Sample Input

95
396 
28 
4 
40
0

Sample Output

95 45 20 0
396 162 12 2
28 16 6
4
40 0



解题思路:个人觉得是一道很好的题,主要考察对循环的理解和使用,很有意思


复制代码
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,i,ans,a,sum;
 5     while(scanf("%d",&n)!=EOF)
 6     {
 7         if(n==0)
 8             break;
 9         sum=1;
10         while(n>=10)
11         {
12 
13             printf("%d ",n);
14             while(1)///求每一次变化后的得到的数
15             {
16                 a=n%10;
17                 n=n/10;
18                 sum=sum*a;///一位一位的拆数
19                 if(n==0)
20                 {
21                     n=sum; 
22                     sum=1;
23                     break;
24                 }
25             }
26         }
27         printf("%d\n",n);
28     }
29     return 0;
30 }
复制代码

 

 

本文作者:王陸

本文链接:https://www.cnblogs.com/wkfvawl/p/8845929.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   王陸  阅读(191)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起