//求任意位數(shù)的水仙花數(shù)3<=n<=7
#include<stdio.h>
int main()
{
int n,i;
int first = 1;
int p,sum;
int t,d,j;
printf("input n: ");
scanf("%d",&n);
//求出最開始遍歷的數(shù)
for(i=1;i<n;i++)
{
first = first*10;
}
//開始遍歷
for(i=first;i<first*10;i++)
{
sum = 0;
t = i;
do
{
d = t%10;
t = t/10;
p = 1;
for(j=1;j<=n;j++)
{
p = p*d;
}
sum = sum + p;
}while(t>0);
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}
輸出
輸出.PNG