判断一个数是否为阿姆斯特朗数
阿姆斯特朗数是指一个 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 (result == num)
cout << num << " 是一个阿姆斯特朗数";
else
cout << num << " 不是一个阿
本文介绍如何用C++判断一个正整数是否为阿姆斯特朗数,即其每个数位上的数字的n次幂之和等于本身。通过用户输入,计算每个数字的n次方并对比原始数值,利用pow函数实现。
订阅专栏 解锁全文
2568

被折叠的 条评论
为什么被折叠?



