c++写一个水仙花数
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:153=1^3+5^3+3^3。
以下是一个C++程序,用于检查一个数是否是水仙花数:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int num, originalNum, remainder, n = 0, result = 0;
cout << "请输入一个正整数:";
cin >> num;
originalNum = num;
// 计算数字位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 计算每个位上的数字的n次幂之和
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 检查是否为水仙花数
if (result == num)
cout << num << " 是水仙花数。";
else
cout << num << " 不是水仙花数。";
return 0;
}
运行程序并输入一个正整数,程序将输出该数是否是水仙花数。
原文地址: http://www.cveoy.top/t/topic/thn 著作权归作者所有。请勿转载和采集!