1106: Persistence
Consider the series of numbers where each term is the product of the decimal digits of the previous term. Eventually the term will be reduced to a single digit.
For example start with 679:
(图错了一点)
The number of steps this takes is called the Persistence of a number. Thus, the persistence of 679 is 5, since that’s number of steps it took to get to a single digit number.
输入
Each input will consist of a single test case. Note that your program may be run multiple times on different inputs. The input will consist of a single line, with a positive number of up to 9 decimal digits with no leading zeros.
输出
For each test case, output a single integer, representing the persistence of the input number; that is, the number of steps necessary to reduce it to a single digit.
样例输入 Copy
5
样例输出 Copy
0
一个水题吧,写了两个函数调用一下
#include <bits/stdc++.h>
using namespace std;
int ji(int n)
{
int num=1;
while(n!=0)
{
num=num*(n%10);
n=n/10;
}
return num;
}
int cal(int n)
{
int num=ji(n);
int cnt;
if(n>=10)
{
cnt=1;
}
else
{
cnt=0;
}
while(num>=10)
{
cnt++;
num=ji(num);
}
return cnt;
}
int main()
{
int n,cnt;
cin>>n;
cnt=cal(n);
cout<<cnt;
}