ホームページ >Java >&#&チュートリアル >Javaのハッピーナンバー
ハッピーナンバーは、ゼロ以外の正の整数です。すべての桁の二乗和を求めた場合は、その数値が 1 になるまでそのプロセスを繰り返します。それ以外の場合は、Unhappy Number または Sad Number と呼ばれます。そこで、この記事では Java におけるハッピーナンバーについて詳しく説明します。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テストハッピーナンバーの例は、1、7、10、13、19、23、28、31、32 などです。
Java のハッピーナンバーの背後にあるロジック:
Example: 23 is a Happy Number or Not. | Example: 11 is a Happy Number or Not. |
Step1: 22 + 32 = 13 | Step1: 12 + 12 = 2 |
Step2: 12 + 32 = 10 | Step2: 22 = 4 |
Step3: 12 + 02 =1 | |
Output: 1(one), So 23 is a Happy number. | Output: 4(four), So 11 is an Unhappy number. |
11 は幸せな数字かどうか。
22 + 32 = 13
22 = 4
4(four)、つまり 11 は不幸な数字です。
ステップ 1: キーボードからゼロ以外の正の数値を入力し、それをnumberという変数に割り当てます。
ステップ 2: 指定された数値 (%) を 10 (%) で割って余りを計算します。
ステップ 3: 残りの値の 2 乗を計算し、変数の合計に加算します。
ステップ 4: 数値を 10 で割る (/)。
ステップ 5: 指定された数値のすべての桁の二乗の合計が得られるまで、ステップ: 2 からステップ: 4 を繰り返します。
ステップ 6: 最終的な加算値は変数 sum に格納されます。
ステップ 7:
result という変数を定義し、数値の値で初期化します。注:
ハッピーナンバーでは、数字はどの辺にゼロを挿入/削除しても影響を受けません。
import java.util.*; public class HappyNumber { public static int checkHappyNumber (int number) { int rem = 0, sum = 0; // calculate the sum of squares of each digits while(number > 0) { rem = number %10; sum = sum+(rem*rem); number = number/10; } return sum; } public static void main(String[] args) { // Take number from KeyBoard Scanner sc = new Scanner (System.in); System.out.print("Enter a non-zero Positive Number:"); int number = sc.nextInt( ); int result = number; while (result != 1 && result != 4) { result = checkHappyNumber(result); } if (result ==1) { System.out.println ("It is a Happy Number"); } else { System.out.println (" It is not a Happy Number"); } } }1 つの数字がハッピー ナンバーになる場合、つまり、一連の数字がハッピーになる場合。たとえば、23 は幸せな数字です。これは、13、10、1 のような一連の数字がハッピー ナンバーであることを示しています。
最終的に、その数字の二乗の合計が 4 に等しい場合、つまり、不幸です。 例
以下は、Java でハッピーナンバーをチェックするさまざまな例です。
例 #1
コード:
import java.util. *; public class Main { public static Boolean checkHappyNumber(int number) { Set<Integer> digits=new HashSet<Integer>(); while(digits.add(number)) { int result = 0; while(number > 0) { result += Math.pow(number % 10, 2); number = number/10; } number = result; } return number == 1; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println ("Enter a non-zero integer number :"); int number = sc.nextInt(); System.out.println(checkHappyNumber(number)?"It is a Happy Number":"It is an Unhappy Number"); } }
出力:
例 #2
指定された番号がハッピー ナンバーであるかどうかを確認するために checkHappyNumber () メソッドを作成します。コード:
出力
import java.util.*; public class HappyNumber { public static int checkHappyNumber(int number) { int rem = 0,sum = 0; // calculate the sum of squares of digits while(number >0) { rem = number%10; sum = sum + (rem*rem); number = number/10; } return sum; } public static void main(String[] args) { // Take starting and ending number from keyboard Scanner sc = new Scanner(System.in); System.out.print("Enter the Starting Number:"); int i=sc.nextInt(); System.out.print("Enter the Ending Number:"); int j=sc.nextInt(); System.out.println("The happy numbers between "+i+" and "+j+" are: "); for (int x=i ; x <= j; x++) { int result = x; //Happy number always ends with 1 and unhappy number ends with 4 while(result != 1 && result != 4) { result = checkHappyNumber(result); } if(result == 1) System.out.print(x + ","); } } }
:
例 #3
数値範囲内のすべての数値がハッピー ナンバーであるかどうかを検証し、ハッピー ナンバーのリストを出力するために checkHappyNumber () メソッドを作成します。
コード:
以上がJavaのハッピーナンバーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。