はじめに
この実験では、C++ で数値がアームストロング数かどうかをチェックする方法を学びます。アームストロング数とは、各桁の数を桁数のパワーに上げたものの和に等しい数です。これは、C++ のコーディングスキルを練習するのに役立つ簡単なプログラムです。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、C++ で数値がアームストロング数かどうかをチェックする方法を学びます。アームストロング数とは、各桁の数を桁数のパワーに上げたものの和に等しい数です。これは、C++ のコーディングスキルを練習するのに役立つ簡単なプログラムです。
以下のコマンドを使用して、~/project
ディレクトリに新しいファイル main.cpp
を作成します。
touch ~/project/main.cpp
このステップでは、必要なライブラリをインクルードします。
#include <iostream>
#include <cmath>
using namespace std;
iostream
ライブラリは入出力ストリームを扱うために使用され、一方、cmath
ライブラリは数学演算の機能を追加します。
このステップでは、main()
関数を定義します。
int main() {
// ここにコードを記述する
return 0;
}
main 関数はプログラムのエントリーポイントです。実行するすべてのコードはこの関数の中に記述する必要があります。
このステップでは、プログラムに必要な変数を宣言して初期化します。
int num, originalNumber, remainder, result = 0, n = 0;
num
は入力された数値ですoriginalNumber
は修正されていない入力数値ですremainder
は入力数値の最後の桁を格納しますresult
はアームストロング計算の結果を格納しますn
は入力数値の桁数を決定するために使用されますこのステップでは、ユーザーから入力値を受け取ります。
cout << "Enter a positive integer: ";
cin >> num;
このコード スニペットは、ユーザーから入力を受け取り、それを変数 num
に格納します。
このステップでは、入力数値の桁数を求めます。
originalNumber = num;
// 桁数を数える
while (originalNumber!= 0) {
originalNumber /= 10;
++n;
}
このコード ブロックは、入力数値の桁数を数えます。その数は変数 n
に格納されます。
このステップでは、アームストロング数の計算結果を求めます。
originalNumber = num;
while (originalNumber!= 0) {
remainder = originalNumber % 10;
result += pow(remainder, n);
originalNumber /= 10;
}
このコード ブロックは、入力数値の各桁を順に処理して、アームストロング数の計算を行います。結果は変数 result
に格納されます。
このステップでは、入力数値がアームストロング数かどうかをチェックします。
if (result == num)
cout << num << " is an Armstrong number";
else
cout << num << " is not an Armstrong number";
このコード ブロックは、プログラムの結果を出力します。結果が入力数値と等しい場合、入力数値はアームストロング数です。そうでなければ、アームストロング数ではありません。
端末でコードを実行するには:
g++ main.cpp -o main && ./main
この実験では、数値がアームストロング数かどうかをチェックする方法を学びました。このタスクに必要な計算を行うために cmath
ライブラリを使用しました。また、数値の桁を反復処理してその桁数を数える方法も学びました。この基本的なプログラムを使って、あなたはさらに C++ のコーディング技術を発展させることができます。