7-5 水仙花数 (20 分)
程序员文章站
2022-06-07 14:39:35
...
重点是把循环搞好
#include <stdio.h>
#include <string.h>
#include <math.h>
int f(int n,int z)
{
int s=0,i,a;
int flag;
int m=n,b;
while(n)
{
a=n%10;b=1;
for(i=1;i<=z;i++)
{
b*=a;
}
s+=b;
n/=10;
}
if(s==m)
return flag=1;
else return flag=0;
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=1*(pow(10,n-1));i<=1*(pow(10,n)-1);i++)
{
if(f(i,n))
printf("%d\n",i);
}
return 0;
}