如何判断一个三位数是否为水仙花数

如何判断一个三位数是否为水仙花数

水仙花数:水仙花数是指一个 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_流苏

如有错误,还请多多指正!感谢!

上一篇:蓝桥杯 基础练习 特殊的数字


下一篇:java基础编程练习题--打印水仙花数