zoukankan      html  css  js  c++  java
  • 2、牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。 变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成2*8*5=80. 问题是,要做多少次变换,使得这个数变成个位

     牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。
    变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成2*8*5=80.
    问题是,要做多少次变换,使得这个数变成个位数。 

    输入描述:
    输入一个整数。小于等于2,000,000,000。

    输出描述:

    输出一个整数,表示变换次数。

     输入例子:

    285

     输出例子:

    2

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3  int main()
     4  {
     5      int n;
     6      scanf("%d",&n);
     7      if(n==0)//n是0,输出 0次 
     8      printf("0");
     9      else
    10      {
    11          int result = 1;
    12          int count = 0;
    13   
    14          while(n/10)//n是个位数,输出0次 
    15          {
    16              while(n)
    17              {
    18                  result *= n%10;
    19                  n = n/10;
    20              }
    21              printf("%d
    ",result);//输出每个数字相乘的积,作为新的n,本题中不需要此行的输出 
    22              count++;
    23              n = result;
    24              result = 1;
    25          }
    26   
    27          printf("%d",count);
    28      }
    29      return 0;
    30  }

     

  • 相关阅读:
    Java中的泛型
    Java中List、Collections实现梭哈游戏
    Java中HashMap案例
    Java中ArrayDeque,栈与队列
    Java中List的使用
    学会使用JDK API
    Java中的数学运算BigDecimal
    在清华听演讲语录
    Java面向对象深度
    类变量、实参、形参、方法参数、代码块参数
  • 原文地址:https://www.cnblogs.com/olivegyr/p/6978244.html
Copyright © 2011-2022 走看看