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  }

     

  • 相关阅读:
    利用vbs设置Java环境变量
    svg translate 操作
    JSTL详解(二)
    [Oracle]
    怎样搭建轻量级架构-设计原则
    数据结构--队列
    opencv中各种矩阵乘的差别
    多重背包
    Linux管理员必须知道的sudo命令
    大二上學期學習生活總結
  • 原文地址:https://www.cnblogs.com/olivegyr/p/6978244.html
Copyright © 2011-2022 走看看