如何判断一个三位数是否为水仙花数
水仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
水仙花数是自幂数的一种,在固定进制前提下,一个n位自然数等于该数各个数位上数字的n次幂之和,则称此数为自幂数。
以题为例:设n为一个三位数(且是整数),如果n是水仙花数就输出1,否则就输出0
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)){
if(n==0) break;
int a=n/100;
int b=n/10%10;
int c=n%10;
if(a*a*a+b*b*b+c*c*c==n)
{
printf("1\n");
}
else
{
printf("0\n");
}
}
return 0;
}
核心部分在
①a=n/100
②b=n/10%10
③c=n%10
假设n为153
在执行①语句的时候,a被赋值为1(153/100取整数部分结果为1)
执行②语句,b被赋值为5(153/10取整为15,15%10=5)
执行③语句,c被赋值为3(153%10=3)
在得到a,b,c的值之后,判断是否满足水仙花数的条件,输出题目要求内容即可
作者:code_流苏
如有错误,还请多多指正!感谢!