C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ 程序来检查阿姆斯壮数

检查阿姆斯壮数的 C++ 程序

在本例中,您将学习检查用户输入的数字是否为 Armstrong 数字。
要理解此示例,您应该了解以下C++ 编程 主题:
C++ if, if...else 和嵌套 if...else C++ while 和 do...while 循环
一个正整数称为阿姆斯特朗数(n阶)如果
abcd... = an + bn + cn + dn + ...
对于 3 位数的阿姆斯特朗数,每位数的立方和等于该数本身。例如,153 是一个阿姆斯特朗数,因为
153 = 1*1*1 + 5*5*5 + 3*3*3 

示例: 检查 Armstrong 的 3 位数

#include <iostream>
using namespace std;
int main() {
    int num, originalNum, remainder, result = 0;
    cout << "Enter a three-digit integer: ";
    cin >> num;
    originalNum = num;
    while (originalNum != 0) {
        // remainder contains the last digit
        remainder = originalNum % 10;
        
        result += remainder * remainder * remainder;
        
        // removing last digit from the orignal number
        originalNum /= 10;
    }
    if (result == num)
        cout << num << " is an Armstrong number.";
    else
        cout << num << " is not an Armstrong number.";
    return 0;
}
输出
Enter a positive integer: 371
371 is an Armstrong number.
在程序中,我们遍历while循环直到 originalNum为0。
在循环的每次迭代中,将 orignalNum最后一位的立方加到 result中。
remainder = originalNum % 10;        
result += remainder * remainder * remainder;
并且,从 orignalNum 中删除最后一位数字。
当循环结束时,单个数字的立方体的总和存储在 result中。

示例: 检查阿姆斯壮的 n 位数

#include <cmath>
#include <iostream>
using namespace std;
int main() {
   int num, originalNum, remainder, n = 0, result = 0, power;
   cout << "Enter an integer: ";
   cin >> num;
   originalNum = num;
   while (originalNum != 0) {
      originalNum /= 10;
      ++n;
   }
   originalNum = num;
   while (originalNum != 0) {
      remainder = originalNum % 10;
      // pow() returns a double value
      // round() returns the equivalent int
      power = round(pow(remainder, n));
      result += power;
      originalNum /= 10;
   }
   if (result == num)
      cout << num << " is an Armstrong number.";
   else
      cout << num << " is not an Armstrong number.";
   return 0;
}
输出
Enter an integer: 1634
1634 is an Armstrong number.
在这个程序中,首先计算输入的数字的位数并存储在 n中。
而且, pow() 函数在 while 循环的每次迭代中计算各个数字的幂。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4