首页 > 试题广场 >

变换次数

[编程题]变换次数
  • 热度指数:4500 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛想对一个数做若干次变换,直到这个数只剩下一位数字。
变换的规则是:将这个数变成 所有位数上的数字的乘积。比如285经过一次变换后转化成2*8*5=80.
问题是,要做多少次变换,使得这个数变成个位数。

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


输出描述:
输出一个整数,表示变换次数。
示例1

输入

285

输出

2
function exchange(x){  
 let i = 0;  
 while(x.toString().split('').length >1){  
   x = x.toString().split('').reduce((p,c) => p*c).toString();  
   i++;  
 }   
  return i;
 }

编辑于 2017-09-14 17:06:42 回复(0)
function timeout(num){
for(let x = 0; num.toString().length >= 2;x++){
num = num.toString().split('').reduce(function(a, b){
return a * b;
})
}
return x;
}
本地都正确,这样怎么就通不过?
发表于 2017-06-13 23:25:31 回复(0)
function num( number ) {
let count = 0;
while ( number > 10 ) {
number = (number + "").split("").reduce(function(x , y){
return x * y;
})
count++;
}
return count;
}
发表于 2017-05-25 10:15:23 回复(1)

热门推荐

通过挑战的用户