アームストロング数をチェックするC++プログラム
アームストロング数は、桁の合計が桁の総数の累乗に等しい数です。アームストロング数のいくつかの例は次のとおりです。
3 = 3^1 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 371 = 3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371 407 = 4^3 + 0^3 + 7^3 = 64 +0 + 343 = 407
番号がアームストロング番号であるかどうかをチェックするプログラムは次のとおりです。
例
#include <iostream> #include <cmath< using namespace std; int main() { int num = 153, digitSum, temp, remainderNum, digitNum ; temp = num; digitNum = 0; while (temp != 0) { digitNum++; temp = temp/10; } temp = num; digitSum = 0; while (temp != 0) { remainderNum = temp%10; digitSum = digitSum + pow(remainderNum, digitNum); temp = temp/10; } if (num == digitSum) cout<<num<<" is an Armstrong number"; else cout<<num<<" is not an Armstrong number"; return 0; }
出力
153 is an Armstrong number
上記のプログラムでは、指定された番号がアームストロング番号であるかどうかが判別されます。これは、複数のステップを使用して行われます。最初に、数値の桁数が検出されます。これは、各桁のdigitNumに1を追加することによって行われます。
これは、次のコードスニペットによって示されます-
temp = num; digitNum = 0; while (temp != 0) { digitNum++; temp = temp/10; }
桁数がわかった後、digitSumは、桁数の累乗である各桁、つまり桁数を加算することによって計算されます。これは、次のコードスニペットで確認できます。
temp = num; digitSum = 0; while (temp != 0) { remainderNum = temp%10; digitSum = digitSum + pow(remainderNum, digitNum); temp = temp/10; }
数値がdigitSumと等しい場合、その数値はアームストロング数値であり、それが出力されます。そうでない場合、それはアームストロング数ではありません。これは、以下のコードスニペットに示されています。
if (num == digitSum) cout<<num<<" is an Armstrong number"; else cout<<num<<" is not an Armstrong number";
-
C++で配列のビットノイズをチェックするプログラム
N個の整数の配列arr[N]が与えられた場合、タスクは、与えられた配列がバイトニックであるかどうかをチェックすることです。指定されたアレイがバイトニックである場合は、「はい、バイトニックアレイです」と出力します。そうでない場合は、「いいえ、バイトニックアレイではありません」と出力します。 Bitonicアレイとは、アレイが最初に厳密に昇順で、次に厳密に降順である場合です。 この配列のように、arr [] ={1、2、3、4、2、-1、-5}はバイトニック配列です。これは、4までは厳密に昇順であり、4以降は厳密に降順であるためです。 入力 arr[] = {1, 3, 5, 4,
-
アームストロング数をチェックするPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 整数nが与えられた場合、与えられた整数がアームストロング数であることを確認する必要があります。 正の整数は、次の場合、n次のアームストロング数と呼ばれます abcd... = a^n + b^n + c^n + d^n + … ここでは、3桁のアームストロング数、つまり3桁のブルートフォースアプローチについて説明します。 オーダーnのアームストロング番号を確認するには、3を行番号7の対応するオーダー値に置き換える必要があります。 それでは、実装を見てみましょう- 例