问题标题: 酷町堂:2684 接力

0
0

0
已采纳
贾文卓
贾文卓
高级光能
高级光能

呵呵,我刚做了这道题目你就来问。

给你发个主要部分:

while(n >= 10) { //当n还不是1位数的时候。
    cout << n << " "; //输出当前数。
    n = work(n); //将n变为它的各个位数的乘积。
}
cout << n << endl; //单独输出最后的一位数。

注:work(n)返回的是n的各个位数的乘积。

0
0
叶子煊
叶子煊
中级光能
中级光能

额,我只发这个程序的重要语句:
    for(int i=n;i>=10;i=n)
    {
        while(n!=0)
        {
          s*=n%10;
            n/=10;
        }cout<<s<<" ";

//s一开 始为1 while(ans>=10)
        while(s>=10)
        {
            n=s;
            s=1;
        }//然后重复上面的过程
//注意:把s赋值给n,s要重新求n各位的乘积,须清1
    }    
}

0
徐熙晨
徐熙晨
新手光能
新手光能
 for(int j=a;j>=10;j=a)
    {
        while(a!=0)
        {
          b*=a%10;
            a/=10;
        }
        cout<<b<<" ";
        while(b>=10)
        {
            a=b;
            b=1;
        }
    }

核心

0
我要回答