如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。
源代码如下:
#include <stdio.h>
int main()
{
int number;
printf("输入一个三位数:\n");
scanf_s("%d", &number);
if(N>=100&&N<=999)
{
if (ifshuixianhua(number))
printf("YES\n");
else
printf("NO\n");
}
else
printf("Invalid Value\n");
return 0;
}
bool ifshuixianhua(int number)
{
if (number < 100 || number>999)
return false;
int a = number / 100; //百位
int b = number / 10 % 10; //十位
int c = number % 10; //个位
if (number == a * a*a + b * b*b + c * c*c)
return true;
else
return false;
}
#include <math.h>
#include <stdio.h>
int main()
{
int n,k,m;
scanf("%d",&n);
if(n>999 || n<100)
printf("Invalid Value\n");
else
{
k = n;
int n0 = n%10;
n/=10;
int n1 = n%10;
n/=10;
m = pow(n,3)+pow(n1,3)+pow(n0,3);
if(k==m)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}