水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1
^3+5^3+3^3
。 本题要求编写程序,计算所有N位水仙花数。
供参考:
#include<stdio.h>
#include<math.h>
int main()
{
int N, i, p, t, sum, n, m, k;
scanf("%d", &N);
i = pow(10, N - 1);
p = pow(10, N);
for (; i < p; i++) {
for (sum = 0, t = i; t > 0; t /= 10) {
m = N; k = 1;
n = t % 10;
while (m--)k *= n;
sum += k;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
#include <stdio.h>
int main()
{
int hun, ten, ind, n;
printf("result is:");
for( n=100; n<1000; n++ ) /整数的取值范围/
{
hun = n / 100;
ten = (n-hun100) / 10;
ind = n % 10;
if(n == hunhunhun + tententen + indind*ind) /各位上的立方和是否与原数n相等/
printf("%d ", n);
}
printf("\n");
return 0;
}