Java のアームストロング数 アームストロング数とは、数値の各桁の 3 乗の合計が数値そのものに等しい数値です。アームストロング数は、最初に数字が取得され、次にそれらが 3 乗され、最後に個々の数字のすべての 3 乗が加算されて数値が得られる特別な種類の数字です。このようにして見つかった数値が元の数値と等しい場合、それぞれの数値はアームストロング数として知られます。アームストロング数の例は 153 です。153 の桁を分解すると、1、5、3 になります。次に、それぞれの数値の 3 乗を求め、最後に数値の 3 乗を計算します。
153= (1*1*1)+(5*5*5)+(3*3*3) 370= (3*3*3)+(7*7*7)+(0*0*0)
このようにして、数値がアームストロング数であるかどうかを計算できます。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト例を使用して図解を見ていきます。
コーディング例では、Java プログラミング言語を使用して、数値がアームストロング数値であるかどうかを判断します。入力された番号がアームストロング番号である場合、プログラムは自動的にそれをアームストロング番号として出力し、入力された番号がアームストロング番号でない場合は、その番号はアームストロング番号ではないと自動的に応答します。 3 桁または 4 桁の値を入力して、その番号がアームストロング番号かどうかを確認できます。
プログラムのロジックでは、それぞれの数値の各桁が temp 変数に格納されます。次に、数値を 3 乗してそれぞれの桁の 3 乗を求め、それが別の変数 total に保存されます。最後に、合計数が対応する元の数と照合されます。各ステップで数値を 10 で割った数値を取得し、その数値を 3 乗して各桁の 3 乗を取得することで、桁を 1 つずつ取得します。
コード:
import java.io.*; public class Armstrong { public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a number"); int num = Integer.parseInt(br.readLine()); int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } }
出力:
最初のプログラムでは、アームストロングかどうかを確認するための番号として 370 と 153 を入力します。また、その番号がアームストロングかどうかを確認するために、番号として 269 を入力します。プログラムのそれぞれの出力では、数値 370 と 153 はアームストロング数値であるが、数値 269 はアームストロング数値ではないことがわかります。
2 番目のコーディング例では、アームストロング数値かどうかをチェックする数値の範囲を選択します。範囲は 150 ~ 160 です。範囲を選択し、その数値がアームストロング数であるかどうか出力を確認します。次に、出力を確認します。使用されるロジックは、アームストロング数を見つけるために使用されるロジックと似ています。数値の各桁が計算され、それらが 3 乗され、合計されて最終的な合計数値が求められます。最終的な合計数が元の数と等しい場合、それらは計算されたアームストロング数とみなされます。
コード:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 150; num<160; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
出力:
サンプル出力では、150 ~ 160 の範囲内のすべての数値がアームストロング数値であるかどうかがチェックされていることがわかります。プログラムは、桁の 3 乗の合計が元の数に等しいアームストロング数は 153 だけであると報告しました。他のすべての数値は非アームストロング数値として報告されています。
このコーディング例では、365 から 375 の間に存在するアームストロング数のリストが表示されます。アームストロング数をチェックする値の範囲を変更しています。コーディングのサンプル ロジックは、以前のものとまったく同じです。主な違いは、チェックされる数値の範囲が変更され、コードの最後の行とは若干異なることです。
個々の数字が取得され、3 乗され、合計されて数値が得られます。その数値が元の数値と同じである場合、元の数値はアームストロング数値として知られます。それ以外の場合、それはアームストロング番号ではありません。
コード:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 365; num<375; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
出力:
プログラムの出力例では、371 と 370 だけがアームストロング数であり、個々の数字の 3 乗の合計が元の数にならないため、他の数値はそうではないことがわかります。
この記事では、アームストロング数の仕組みと定義について見てきました。まず、入力された数値がアームストロング数値であるかどうかを確認します。次に、150 から 160 までの範囲の値を入力し、それらの値の間にアームストロング数がいくつあるかを確認します。 3 番目に、365 から 375 までの範囲の数値を入力し、370 と 371 がアームストロング数であることがわかります。アームストロング数は数論で使用される特別な数であり、いくつかの数値の桁の性質とその 3 乗の合計を見つけるために使用できます。
以上がJavaのアームストロング数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。