#include <stdio.h>
#include <math.h>
int main() {
int n, i, j, k, sum, count = 0;
scanf("%d", &n);
int arr[n]; // 定义一个长度为n的数组
//遍历n位数的所有数,找出水仙花数,输出水仙花数。如何找出水仙花数呢?先把数的每一位存进数组,遍历数组求每一位的n(位数)次方之和,如果和等于该数,则该数为水仙花数。
for (i = pow(10, n - 1); i < pow(10, n); i++) {
sum = 0;
k = i;//用k代替i进行运算,最后判断相等的时候方便
for (j = 0; j < n; j++) {
arr[j] = k % 10; // 将i的每一位存入数组中
k /= 10;
}
for (j = 0; j < n; j++) {
sum += pow(arr[j], n); // 计算每一位的n次方之和
}
if (sum == i) {
printf("%d\n", i);
count++;
}
}
if (count == 0) {
printf("No result.\n");
}
return 0;
}