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\n",result);//输出每个数字相乘的积,作为新的n,本题中不需要此行的输出 
22              count++;
23              n = result;
24              result = 1;
25          }
26   
27          printf("%d",count);
28      }
29      return 0;
30  }

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 输入一个由4位数字组成的整数,把它分解为单个数字,然后输出每一位数字。 0~9十个数,每个数只能使用一次,组成两个三位数相加和为四位数的算法 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数 排列(permutation) 用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:我年龄的立方是个4位数。 我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。 结果只有一个数。 位运算解决“一个数组中,只有一个数字出现n次,其他数字出现k次”问题 快乐数(编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和, 然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1, 那么这个数就是快乐数。) Leetcode练习(Python):哈希表类:第202题:编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为  1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。
 
粤ICP备18138465号  © 2018-2026 CODEPRJ.COM