问题标题: 酷町堂:1282哪里错了

0
0
已解决
丁应翔
丁应翔
新手守护
新手守护

#include<bits/stdc++.h> 
using namespace std;
long long int n,a,q,w,e=8,d,m,s,i;
int main() 
{
    cin>>a;
    while(1) 
    {
        n=a%10;
        q=a/10;
        s=s/100;
        i=n*n*n+q*q*q+s*s*s;
        if(i==a)
        {
            break;
        }
        else
        {
            a==i;
        }
    }
    cout<<a;
    return 0;


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

你的代码我没看懂

这是我的核心

while(x和n不相等){
        x=n;
        int a=n/100;
        int b=n/10%10;
        int c=n%100%10;
        n=a*a*a+b*b*b+c*c*c;//更新n的值
}

你参考一下

0
汪恺恒
汪恺恒
中级启示者
中级启示者

else的中的语句应该是

a=i

 

0
汪恺恒
汪恺恒
中级启示者
中级启示者

这题数据很水,不判断也能AC,如果想判断,就判断当前变换出来的数之前有没有出现过,如果出现过,就输出error

因为出现过说明形成了一个周期,不会再出现别的数

我要回答