水仙花数c++水仙花数是指一个 N 位正整数N≥3它的每个位上的数字的 N 次幂之和等于它本身。例如:153=1 3 +5 3 +3 3 。 本题要求编写程序计算所有 N 位水仙花数。 输入格式输入在一行中给出一个正整数 N3≤N≤7。10输出格式按递增顺序输出所有 N 位水仙花数每个数字占一行。 输入样例3输出样例153370371407
#include
int main() { int N; cin >> N;
int start = pow(10, N-1);
int end = pow(10, N) - 1;
for (int i = start; i <= end; i++) {
int num = i;
int sum = 0;
while (num > 0) {
int digit = num % 10;
sum += pow(digit, N);
num /= 10;
}
if (sum == i) {
cout << i << endl;
}
}
return 0;
}
原文地址: http://www.cveoy.top/t/topic/iJiz 著作权归作者所有。请勿转载和采集!