/*寻找水仙花数*/
#include <stdio.h>
#include <math.h>
int main(void)
{
int n,max,min,mid,i,j,k,item,sum; /*mid为n次方和中的中间变量,j为每一位的上的数字,item为n次方和中的项*/
printf("(3≤n≤9)输入正整数n:\n");
scanf("%d",&n);
if(n<=9&&n>=3) /*判断n输入是否正确*/
{
max=pow(10,n)-1; /*n位数中最大的数*/
min=pow(10,n-1); /*n位数中最小的数*/
for(k=min;k<=max;k++)
{
mid=k;
sum=0;
for(i=1;i<=n;i++) /*求n次方和过程*/
{
j=mid%10;
mid=mid/10;
item =pow(j,n); //pow函数求n次方
sum=sum+ item;
}
if(sum==k)
printf("%d\n",k);
}
}
else
printf("输入错误\n");
return 0;
}
C语言入门:寻找水仙花数(3到9位)
最新推荐文章于 2023-08-02 22:23:26 发布