问题标题: 酷町堂:1195 水仙花数

0
0
已解决
陈喆鹏
陈喆鹏
资深光能
资深光能
#include<iostream>
#include<cmath>
using namespace std;
int main()
{ 
    int a;
    while(1)
    {
        cin>>a;
        if(a==0) return 0;
        int x=a%10;
        int y=a/10%10;
        int z=a/100;
        x=pow(x,3);
        y=pow(y,3);
        z=pow(z,3);
        if(a==x+y+z) cout<<"YES";
        else
            cout<<"NO";
    }
} 

0分


0
已采纳
颜咏春
颜咏春
中级光能
中级光能

加换行。(\n)或(endl)

在 cout<<"YES"加;

样例 1:

cout<<"YES"<<endl;

cout<<"NO"<<endl;

 

样例 2:

cout<<"YES\n";

cout<<"NO\n";

 

再把return 0;

改为break;

 

望采纳;

 

2
马佳滢
马佳滢
新手天翼
新手天翼

在17、19行加上“<<endl”。

附上图片就是:

还有:        

然后举例:    

1
贾志骜
贾志骜
新手光能
新手光能

精英题我写不了,请把题目发给我

0
储金洋
储金洋
新手光能
新手光能

把循环里的输入去掉,再把while(1)改成while(cin>>a)

就像这样:

while(cin>>a;)
    {     
        if(a==0) return 0;
        int x=a%10;
        int y=a/10%10;
        int z=a/100;
        x=pow(x,3);
        y=pow(y,3);
        z=pow(z,3);
        if(a==x+y+z) cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }

 

0
郑怡翔
郑怡翔
初级天翼
初级天翼

if(a==0) return 0;

return 0改成break

//改成:
if(a==x+y+z) cout<<"YES\n";
        else
            cout<<"NO\n";

 

0
郑怡翔
郑怡翔
初级天翼
初级天翼

if(a==0) return 0;

return 0改成break

//改成:
if(a==x+y+z) cout<<"YES\n";
        else
            cout<<"NO\n";

 

0
陈喆鹏
陈喆鹏
资深光能
资深光能

1195   水仙花数

题目描述 Description

请判断一个数是不是水仙花数。 其中水仙花数定义各个位数立方和等于它本身的三位数。

输入描述 Input Description

有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。

输出描述 Output Description

如果n是水仙花数就输出YES
否则输出NO

样例输入 Sample Input

 

153
154
0

样例输出 Sample Output

 

YES
NO

了解酷町堂编程教育酷町堂历年获奖成绩酷町堂名师介绍酷町堂课程设置

参与问卷调查获取酷町币

提交记录:

#题号时间1Wrong Answer2018年2月9日 19:50

请选择编程语言: ---C++CPascalPython3

 

​x

 

1

验证码: captcha

提交

0
翟谦瑞
翟谦瑞
新手守护
新手守护

先向可怕的零一样输入到0⃣️为止。然后向三位水仙花数一样逐数判断,记得还要存入数组哦!                                                          

 

0
0
臧启亚
臧启亚
初级光能
初级光能

核心代码

 while (scanf("%d",&m)&&m!=0){
        i=m/100;
        j=(m-100*i)/10;
        k=m-100*i-10*j;
        if(m==i*i*i+j*j*j+k*k*k) printf("YES\n");
        else printf("NO\n",m);
        n--;
    }

 

0
王梓澳
王梓澳
中级光能
中级光能

要把

cout<<"YES";
//和
cout<<"NO";

改成

cout<<"YES"<<endl;
//和
cout<<"NO"<<endl;

 

0
李汉魁
李汉魁
中级光能
中级光能

要把一个数的各位拆分开再乘三次。

0
0
我要回答