📌  相关文章
📜  C++程序显示两个间隔之间的阿姆斯壮数

📅  最后修改于: 2020-09-25 05:58:35             🧑  作者: Mango

使用循环和if … else语句查找两个整数(由用户输入)之间的所有Armstrong数字的示例。

该程序要求用户输入两个整数,并显示给定间隔之间的所有阿姆斯壮数字。

如果您在编程时不知道如何检查数字是否为阿姆斯壮,则该程序似乎有点复杂。

访问此页面以了解Armstrong编号以及如何在C++编程中对其进行检查。

示例:显示间隔之间的阿姆斯壮数

#include 
using namespace std;

int main()
{
  int num1, num2, i, num, digit, sum;

  cout << "Enter first number: ";
  cin >> num1;

  cout << "Enter second number: ";
  cin >> num2;

  cout << "Armstrong numbers between " << num1 << " and " << num2 << " are: " << endl;
  for(i = num1; i <= num2; i++)
  {
        sum = 0;
        num = i;

        for(; num > 0; num /= 10)
        {
            digit = num % 10;
            sum = sum + digit * digit * digit;
        }

        if(sum == i)
        {
            cout << i << endl;
        }
  }

  return 0;
}

输出

Enter first number: 100
Enter second number: 400
Armstrong numbers between 100 and 400 are:
153
370
371

在此程序中,假定用户始终首先输入较小的数字。

如果用户首先输入较大的数字,该程序将不会执行预期的任务。

如果用户首先输入较大的数字以使该程序正常工作,则可以添加代码以交换用户输入的两个数字。

在此程序中,间隔之间的每个数字都被获取并存储在变量num 。然后,将数的每个数字在被检索digit和立方(^ 3)。

将求立方的结果添加到最后一位数字sum求立方的结果中。

最后,遍历每个数字时,将sum与原始数字i 。如果它们相等,则该数字为阿姆斯壮数字。