【C语言】打印所有的“水仙花数”

  • Post author:
  • Post category:其他


水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。

代码如下

#include<stdio.h>
#include<math.h>
int judge(int x)
{
    int n1,n2,n3,sum;
    n1=x/100;
    n2=(x-100*n1)/10;
    n3=x%10;
    sum=pow(n1,3)+pow(n2,3)+pow(n3,3);
    if(sum==x) 
       return 1;
    else 
       return 0;
}
int main()
{
	int num,a;
	for(num=100;num<1000;num++)
	{
	  a=judge(num);
	  if(a==1) 
	     printf("%d\t",num);
	}
	return 0;
}

结果是

153  370  371  407



版权声明:本文为clumsy01原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。