阅读量:0
水仙花数是指一个n位数,其各位数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
要解决C++中的水仙花数问题,可以编写一个程序来循环遍历所有可能的n位数,然后计算其各位数字的n次幂之和,最后判断是否等于原数。
以下是一个简单的C++程序示例来解决水仙花数问题:
#include <iostream> #include <cmath> int main() { int num, sum, temp, digit; std::cout << "水仙花数有:\n"; for (int i = 100; i < 1000; i++) { num = i; sum = 0; while (num > 0) { digit = num % 10; sum += pow(digit, 3); num /= 10; } if (sum == i) { std::cout << i << " "; } } return 0; }
这个程序会输出所有的3位水仙花数。您也可以根据需要调整循环的范围来查找其他位数的水仙花数。