• 数字小游戏


    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);
    28     }
    29     return 0;
    30 }
    
    
    
     
  • 相关阅读:
    Python爬虫 Urllib库的高级用法
    Python爬虫入门 Urllib库的基本使用
    Oracle wm_concat()函数
    linux cut命令详解
    linux sort命令详解(转)
    linux awk 命令详解
    linux sed命令详解
    Oracle 数据导入导出操作 (转)
    sqlldr用法
    Python os与sys模块解析
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8845929.html
Copyright © 2020-2023  润新知