判断一个数是否为阿姆斯特朗数
阿姆斯特朗数是指一个 n 位的正整数,在每个数位上的数字的 n 次幂之和等于它本身。例如,371 就是一个阿姆斯特朗数,因为 33+73+1^3=371。
下面给出 C++ 的代码实现:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int num, originalNum, remainder, result = 0, n = 0;
cout << "请输入一个正整数: ";
cin >> num;
originalNum = num;
// 计算数字的位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 检查是否为阿姆斯特朗数
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if