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

Posted olive_gyr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。 变换的规则是:将这个数变成 所有位数上的数字的乘积。比如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\\n",result);//输出每个数字相乘的积,作为新的n,本题中不需要此行的输出 
22              count++;
23              n = result;
24              result = 1;
25          }
26   
27          printf("%d",count);
28      }
29      return 0;
30  }

 

 

以上是关于牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。 变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成2*8*5=80. 问题是,要做多少次变换,使得这个数变成个位的主要内容,如果未能解决你的问题,请参考以下文章

2017年校招全国统一模拟笔试(第三场)编程题集合--Python

2017年校招全国统一模拟笔试(第三场)编程题集合--Python

JavaScript小练习2

牛牛与二进制

2022-06-07:牛牛今年上幼儿园了,老师叫他学习减法, 老师给了他5个数字,他每次操作可以选择其中的4个数字减1, 减一之后的数字不能小于0,因为幼儿园的牛牛还没有接触过负数。 现在牛牛想知道,

[牛客网]排序