水仙花数编程题及答案?
#include<stdio.h>
double myPow(double a,int x);//a的x次方。
int daff(int a);//判断一个数是不是水仙花数。
double myPow(double a,int x)
{
double resu=1;
int i=0;
for(i=1;i<=x;i++)
resu*=a;
return resu;
}
int daff(int a) //返回1,表示是水仙花数。0表示不是。
{
int b=a;
int flag=0;
int num=0;
int sum=0;
while(b)
{
num=b%10;
sum+=myPow(num,3);
b/=10;
}
if(sum==a)
flag=1;
return flag;
}
int main ()
{
int m=0,n=0;
int i=0;
int count=0;
scanf("%d%d",&m,&n);//输入要求m<n.
for(i=m;i<=n;i++)
if(daff(i))
{
printf("%d ",i);
count++;
}
if(count==0)
printf("no");
return 0;
}
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有