水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身.例 如:153 = 13 + 53+ 33.

本题要求编写程序,计算所有N位水仙花数

第1个回答  2015-04-05
#include<stdio.h>
#include<math.h>
#define col 5
#define row 10
int main()
{
int n;
scanf("%d",&n);
int arr[row][col];
int i,j;
for(i=0;i<row;i++)
for(j=0;j<col;j++)
{
arr[i][j] = pow(1.0*i,j+3);
}
for(i=pow(10.0,n-1);i<pow(10.0,n);i++)
{
int sum =0;
int temp =i;
for(j=0;j<n;j++)
{
sum += arr[temp%10][n-3];
temp /= 10;
}
if(sum == i)
printf("%d\n",i);
}
return 0;
}本回答被提问者采纳
第2个回答  2015-04-05
n的范围是多少?
相似回答