所谓水仙花数(也称自幂数、自恋数、阿姆斯特朗数),它是一个 3 位数,其每位数字的 3 次幂之和等于它本身。
请编写函数,判断水仙花数。
函数原型
int IsNarc(int x);
说明:参数 x
是任意自然数。若 x
是水仙花数,则函数值为 1 (真),否则为 0 (假)。
裁判程序
#include <stdio.h>
#define Cube(x) ...(略)...
int IsNarc(int x);
int main()
{
int x;
scanf("%d", &x);
if (IsNarc(x))
{
puts("Yes");
}
else
{
puts("No");
}
return 0;
}
/* 你提交的代码将被嵌在这里 */
提示:利用前面作业中编写的 Cube 宏命令求立方。
输入样例1
153
结尾无空行
输出样例1
Yes
结尾无空行
输入样例2
582
结尾无空行
输出样例2
No
结尾无空行
输入样例3
1
结尾无空行
输出样例3
No
结尾无空行
输入样例4
1001
结尾无空行
输出样例4
No
结尾无空行
int IsNarc(int x)
{
int a,b,c;
a=x%10;
b=x/10%10;
c=x/100;
if(x<100||x>999){
return 0;
}
if(Cube(a)+Cube(b)+Cube(c)==x){
return 1;
}
else{
return 0;
}
}