请用c++解决以下问题水仙花数是指一个三位整数它的每个数位上的数字的 3次方之和等于它本身。例如:1 1 1 + 5 5 5 + 3 3 3 = 153153就是其中的一个水仙花数。现在请同学们输入一个三位整数输出这个三位数范围内所有的水仙花数。
#include
int main() { cout << "请输入一个三位整数:"; int num; cin >> num;
if (num < 100 || num > 999) {
cout << "输入的数字不在三位数范围内!" << endl;
return 0;
}
cout << "三位数范围内的水仙花数有:";
for (int i = 100; i <= num; i++) {
int digit1 = i / 100; // 获取百位
int digit2 = (i / 10) % 10; // 获取十位
int digit3 = i % 10; // 获取个位
int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
if (sum == i) {
cout << i << " ";
}
}
cout << endl;
return 0;
原文地址: https://www.cveoy.top/t/topic/igiB 著作权归作者所有。请勿转载和采集!