欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求出0〜999之间的所有“水仙花数”并输出

程序员文章站 2022-03-09 16:09:56
...

水仙花数是一个数每个位置的立方相加等于这个数,可以利用for循环解决,难点在于一个三位数,个位数字是模10得到,十位百位也是如此,例如153%10->3,15%10->5,10%10->1.for循环中嵌套一个while循环,定义一个临时变量x用于保存,在while循环中将三位数每个位置的立方相加。立方可以用pow来实现。`

#include<stdio.h>
#include<math.h>
void Armnumber()
{
 int i=0;
 for(;i<=999;i++)
 {
  int x=i;
  int sum=0;
  while(x)
  {
   double y=x%10;
   sum+=(int)pow(y,3);
   x/=10;
  }
  if(sum==i)
  {
   printf("%d\n",i);
  }
 }
}
int main()
{
 Armnumber();
}

求出0〜999之间的所有“水仙花数”并输出