【问题描述】
从一个整数开始,比如:6593。将这个整数中的各位数字全部取出,如果为0,则忽略,将他们相乘,
得到一个新的整数,上面的例子就是6*5*9*3=810,然后继续做下去,8*1得到了一个个位数8。
读入一个数并计算出得到一个个位数的过程。
【输入形式】
一个整数n
【输出形式】
在单独的一行中按顺序输出游戏过程中产生的每一个数直到一个个位数结束。
【样例输入】
98886
【样例输出】
98886 27648 2688 768 336 54 20 2
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
cout<<n<<" "; //为了凑输出样例
while(n>=10){
int product=1;
while(n>0){
int digit=n%10; //把每一位数字取出来去相乘
if(digit!=0){
product = product*digit;
}
n/=10; //n每次除10,如果等于0了就退出循环输出product乘积
}
cout<<product<<" ";
n=product; //将成绩赋给下一个n
}
return 0;
}