#include<stdio.h>
int main()
{
int a=1,b,c;
while(~scanf("%d",&a) && a != 0)
{
b = a;
c = (b%10)*(b%10)*(b%10)+(b/10%10)*(b/10%10)*(b/10%10)+(b/100)*(b/100)*(b/100);
if(c == b)
{
printf("Yes\n");
}
else
printf("No\n");
}
return 0;
int main()
{
int a=1,b,c;
while(~scanf("%d",&a) && a != 0)
{
b = a;
c = (b%10)*(b%10)*(b%10)+(b/10%10)*(b/10%10)*(b/10%10)+(b/100)*(b/100)*(b/100);
if(c == b)
{
printf("Yes\n");
}
else
printf("No\n");
}
return 0;
}
这个题主要是如何循环读入输入的值,关于scanf的理解,scanf主要输入的格式正确返回的是大于一的数。不过这个题我还是没有明白一点,~scanf什么时候需要加上~,这道题我试了试不加~和加上是一样 的。