#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main()
{long i,m,n;
int a[100],b,c,d,e,f,g;
int count=0;
scanf("%d,%d",&m,&n);
{for(i=m;i<=n;i++)
{g=i*10;
d=int(log10(g));b=0;c=i;
for(e=0;e<d;e++)
{ f=int(pow(10,e));
a[e]=(i/f)%10;
b=b+int(pow(a[e],d));}
if(b==c)
{printf("%d\n",b);count++;}}}
if(count!=0)
{printf("count=%d\n",count);}
else
{printf("No result !");}
system("pause"); }
这是我写的程序,为什么我在DEVc++上执行的时候会漏了153,92727,54748,等等的几个数啊。
题目是:
要求:输入两个正整数(输入数据以逗号 , 分隔),指定判断的起止区间。要求输入的起止区间介于 100~1000000
输出:逐行该指定范围内的所有水仙花数及总个数 count 。如,输入 100,200 ↙ ,输出
153 ↙
count=1 ↙。
如果指定范围内没有水仙花数,则输出
“ No result ! ↙
#include<stdlib.h>
#include<math.h>
main()
{long i,m,n;
int a[100],b,c,d,e,f,g;
int count=0;
scanf("%d,%d",&m,&n);
{for(i=m;i<=n;i++)
{g=i*10;
d=int(log10(g));b=0;c=i;
for(e=0;e<d;e++)
{ f=int(pow(10,e));
a[e]=(i/f)%10;
b=b+int(pow(a[e],d));}
if(b==c)
{printf("%d\n",b);count++;}}}
if(count!=0)
{printf("count=%d\n",count);}
else
{printf("No result !");}
system("pause"); }
这是我写的程序,为什么我在DEVc++上执行的时候会漏了153,92727,54748,等等的几个数啊。
题目是:
要求:输入两个正整数(输入数据以逗号 , 分隔),指定判断的起止区间。要求输入的起止区间介于 100~1000000
输出:逐行该指定范围内的所有水仙花数及总个数 count 。如,输入 100,200 ↙ ,输出
153 ↙
count=1 ↙。
如果指定范围内没有水仙花数,则输出
“ No result ! ↙
