首页 软件代码

C语言求水仙花数


题目:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身,输出100到999所有的水仙花数。

第一种方法:

#include<stdio.h>
void main()
{
  int b,s,g,n;
  for(n=100;n<999;n++)
  {
      b=n/100;
      s=n/10%10;
      g=n%10;
      if(n==(b*b*b+s*s*s+g*g*g))
      printf("%d/n",n);
  }
}

第二种方法:

#include<stdio.h>
void main()
{
  int b,s,g,j;
  for(b=1;b<=9;b++)
  {
      for(s=0;s<=9;s++)
      {
          for(g=0;g<=9;g++)
          {j=b*b*b+s*s*s+g*g*g;
              if(j==(b*100+s*10+g))
                  printf("%d/n",j);
          }
      }
  }
}  

输出结果相同:

153
370
371
407




文章评论