Javaのアームストロング数とは何ですか? それは前提条件とアルゴリズムです
公開: 2021-04-08目次
アームストロング数とは何ですか?
与えられた数xは、その桁の合計がnの累乗に等しい場合、次数nのアームストロング数と呼ばれます。
abc = pow(a、n)+ pow(b、n)+ pow(c、n)
n桁の正の整数は、その桁の3乗の合計に等しい場合、アームストロング数(3次)です。 例えば:
入力:153
出力:はい
1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 153
したがって、153はアームストロング数です
入力:121
出力:いいえ
1 * 1 * 1 + 2 * 2 * 2 + 1 * 1 * 1 = 10
したがって、120はアームストロング数ではありません。
前提条件とアルゴリズム
この記事では、入力番号がアームストロング番号であるかどうかを確認する方法を学びます。 このために、Javaでwhileループとforループを使用します。 このプログラムを理解するには、Javaの次のトピックに関する知識が必要です。
- Javaif-elseステートメント
- Javaforループ
- Javawhileおよびdo-whileループ
アルゴリズム:
- 整数変数xを取る
- 値は変数xに割り当てられます
- 値の桁が分割されます
- 各桁のキューブ値が見つかります
- すべてのキューブの値を追加します
- 出力は合計変数に保存されます
- sum = Xの場合、アームストロング数を出力します
sum!= Xの場合、アームストロング数ではなく出力します
Javaでアームストロング数をチェックするプログラム
1.注文3のJavaのアームストロング数
コード:
パブリッククラスアームストロング{
public static void main(String [] args){
int x = 0、a、temp;
int n =153;//アームストロングをチェックする番号です
temp = n;
while(n> 0)
{{
a = n%10;
n = n / 10;
x = x +(a * a * a);
}
if(temp == x)
System.out.println( "アームストロング数");
そうしないと
System.out.println( "アームストロング番号ではありません");
}
}
出力:
説明
まず、指定された数値Nの値が別の整数変数xに格納されます。 これは、最後に元の数値と最終的な数値の値を比較する必要があるために行われます。 whileループを使用して、数値Nが0に等しくなるまでループします。反復ごとに、Nの最後の桁がaに格納されます。
次に、aを立方体にするか、Mathを使用して結果を計算します。 pow()とそれをxに追加します。 最後の桁がNから削除されると、10で除算されます。最後に、=、temp、およびXが比較されます。 それらが等しい場合、それはアームストロング数です。 そうでなければ、そうではありません。
2.注文nのJavaのアームストロング数
コード:
パブリッククラスアームストロング
{{
/*レイズを計算する関数
パワーb*/
int power(int a、long b)
{{
if(b == 0)
1を返します。
if(b%2 == 0)
リターンパワー(a、b / 2)*パワー(a、b / 2);
a * power(a、b / 2)* power(a、b / 2);を返します。
}
/*番号の順序を計算する関数*/
int order(int a)
{{
int n = 0;
while(a!= 0)
{{
n ++;
a = a / 10;
}
nを返します。
}
//指定された数がアームストロング数であるかどうかをチェックする関数
ブールアームストロング(int a)
{{
//注文関数を呼び出す
int n = order(a);
int temp = a、sum = 0;
while(temp!= 0)
{{
int r = temp%10;
sum = sum + power(r、n);
temp = temp / 10;
}
//アームストロング条件を満たす場合
return(sum == a);
}
//ドライバープログラム
public static void main(String [] args)
{{
Armstrong obj = new Armstrong();
int a = 153;
System.out.println(obj.isArmstrong(a));
a = 1276;
System.out.println(obj.isArmstrong(a));
}
}
出力:
説明
このプログラムでは、whileループの代わりに、再帰を使用しました。 最初の関数は、aの累乗bを計算するために使用されます。 Math.pow(a、b)も同じように使用できます。 2番目の関数は、数値の順序をチェックします。たとえば、153の順序は3です。最後に、ブール関数Armstrongを使用して、数値がArmstrongであるかどうかを返します。 次に、Armstrongクラスのオブジェクトを使用して関数を呼び出します。
与えられた範囲のアームストロング数を印刷するJavaプログラム
コード:
パブリッククラスアームストロング
{{
public static void main(String [] arg)
{{
int i = 0、x;
System.out.println( "0から999までのアームストロング数");
while(i <1000)
{{
x = armstrongOrNot(i);
if(x == i)
System.out.println(i);
i ++;
}
}
static int armstrongOrNot(int n)
{{
int c、a = 0;
while(n!= 0)
{{
c = n%10;
a = a +(c * c * c);
n / = 10;
}
返す;
}
}
出力:
説明:このプログラムでは、指定された間隔のローとハイの間の各数値がチェックされます。 各チェックを投稿すると、合計と桁数が0に復元されます。
結論
この記事では、Javaでのアームストロング数について詳しく説明しました。 数値が次数nおよび次数3のアームストロング数であるかどうかを確認する方法も確認しました。また、下限と上限の間のすべてのアームストロング数を取得する方法も確認しました。
Javaスキルを向上させたい場合は、これらのJavaプロジェクトを手に入れる必要があります。 Java、フルスタック開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。 、および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。
Javaについてさらに学び、技術的なキャリアを向上させたい場合は、インド最大のオンライン高等教育会社であるupGradによる無料のJavaオンラインコースをご覧ください。 詳しくはお問い合わせください。