我求出了100~100000000的所有水仙花数!

作者在 2010-04-17 10:12:46 发布以下内容
#include<stdio.h>
#include<math.h>
int x=0;
void is(int number)
{
 int sum=0,a,b;
    b=number;
    while(number!=0)
    {
        a=number%10;
        sum=sum+pow(a,x);
        number=number/10;
    }
    if(sum==b)
        printf("%d ",sum);
}
void main()
{
    int i,j,y;
    for(i=100;i<100000000;i++)
 {
  j=i;
  y=0;
  for(;j!=0;j=j/10)
  {   
   y=y+1;
   x=y;
  }
        is(i);
 }
}
结果花了一分多钟算到
  三位的水仙花数共有4个:153,370,371,407;
  
四位的水仙花数共有3个:1634,8208,9474;
  五位的水仙花数共有3个:54748,92727,93084;
  六位的水仙花数只有1个:548834;
  七位的水仙花数共有4个:1741725,4210818,9800817,9926315;
  八位的水仙花数共有3个:24678050,24678051,88593477

为了算出这个我想了很多方法,最后要感谢mzk2334919提供了灵感,我不知道这样执着好不好,但是这个程序诞生的时候我心里充满了喜悦!
默认分类 | 阅读 1115 次
文章评论,共1条
wei855198
2010-06-14 09:43
1
很不错
游客请输入验证码
文章分类
文章归档
最新评论