logo

Javaのスパイ番号

このセクションでは、次のことを学びます スパイ番号とは何ですか そしてまた作成します Javaプログラム 指定された番号が次であるかどうかを確認します スパイ か否か。の スパイ番号プログラム でよく聞かれる ジャワ コーディングテスト。

スパイ番号

正の整数はスパイ番号と呼ばれます。 そして 製品 その桁が等しい。つまり、すべての桁の和と積が等しい数を「a」といいます。 スパイ番号

スパイ番号の例

1124 という番号を見て、その番号がスパイかどうかを確認してみましょう。まず、数字 (1、1、2、4) に分割します。その後、すべての桁の和と積を求めます。

バブルソート

=1+1+2+4= 8

製品 =1*1*2*4= 8

数字の和と積が両方とも等しいことがわかります。したがって、 1124 スパイ番号です。

同様に、他の数値も確認できます。他のスパイ番号には、22、123、132 などがあります。

Javaのスパイ番号

スパイ番号を見つける手順

  1. 数値を読み取るか初期化します ( n )確認したいこと。
  2. 2 つの変数を宣言する そして 製品 数字の和と積を保存します。合計を初期化します 0 と製品 1
  3. を見つける 最後 モジュロ演算子を使用して、指定された数値の桁 (n%10) を取得します。
  4. 追加変数合計の最後の桁。かける積変数の最後の桁。分ける指定された数値 (n) を 10 倍します。最後の桁が削除されます。
  5. 手順を繰り返す 3~6 指定された数 (n) が 0 になるまで。
  6. 変数の合計と積が同じ値である場合、指定された数値 (n) は スパイ 番号 、そうでない場合はスパイ番号ではありません。

上記の手順を Java プログラムに実装してみましょう。

whileループJava

Spy Number Java プログラム

SpyNumberExample1.java

 import java.util.Scanner; public class SpyNumberExample1 { public static void main(String args[]) { int num, product=1, sum=0, lastdigit; // create object of scanner Scanner sc = new Scanner(System.in); System.out.print('Enter the number to check: ' ); //reads an integer from the user and stores it in the variable num num=sc.nextInt(); //executes untill the condition becomes false while(num>0) { //finds the last digit of the number lastdigit=num%10; //adds last digit to the variable sum sum=sum+lastdigit; //calculates the product product=product*lastdigit; //removes the last digit from the given number num=num/10; } //compares the sum and product if(sum==product) //prints if the above condition returns true System.out.println('The given number is a spy number.'); else //prints if the above condition returns false System.out.println('The given number is not a spy number.'); } } 

出力 1:

 Enter the number to check: 123 The given number is a spy number. 

成果 2:

 Enter the number to check: 456 The given number is a not spy number. 

SpyNumberExample2.java

 import java.util.Scanner; public class SpyNumberExample2 { //method to check the Spy number private static boolean isSpyNumber(int number) { int lastDigit = 0; int sum = 0; int product = 1; //executes until the condition returns true while(number != 0) { //determines the last digit of the given number lastDigit = number % 10; //adds the last digit to the variable sum sum = sum + lastDigit; //multiply last digit with product product = product * lastDigit; //removes the last digit of the given number number = number / 10; } //compares the variable sum with product and returns the result accordingly if(sum == product) return true; return false; } //driver code public static void main(String args[]) { int lowerRange = 0, upperRange = 0; Scanner sc = new Scanner(System.in); System.out.print(&apos;Enter the lower range: &apos;); //reads lower range lowerRange = sc.nextInt(); System.out.print(&apos;Enter upper range: &apos;); //reads the upper range upperRange = sc.nextInt(); System.out.println(&apos;The Spy numbers between &apos;+ lowerRange + &apos; to &apos;+ upperRange+&apos; are: &apos;); for(int i=lowerRange; i<=upperrange; i++) { calling user-defined function that checks if the given number is spy or not if(isspynumber(i)) prints all numbers system.out.print(i +' '); } < pre> <p> <strong>Output:</strong> </p> <pre> Enter the lower range: 1 Enter upper range: 10000 The Spy numbers between 1 to 10000 are: 1 2 3 4 5 6 7 8 9 22 123 132 213 231 312 321 1124 1142 1214 1241 1412 1421 2114 2141 2411 4112 4121 4211 </pre> <hr></=upperrange;>