logo

Spionnummer i Java

I det här avsnittet kommer vi att lära oss vad är ett spionnummer och även skapa Java-program för att kontrollera om det angivna numret är Spionera eller inte. De spionnummerprogram frågas ofta in Java kodningstest.

Spionnummer

Ett positivt heltal kallas ett spionnummer om belopp och produkt av dess siffror är lika. Med andra ord, ett tal vars summa och produkt av alla siffror är lika kallas a spionnummer .

Exempel på spionnummer

Låt oss ta numret 1124 och kontrollera om numret är en spion eller inte. Först delar vi upp det i siffror (1, 1, 2, 4). Hitta sedan summan och produkten av alla siffror.

Belopp =1+1+2+4= 8

heltal jämfört med java

Produkt =1*1*2*4= 8

Vi observerar att summan och produkten av siffrorna båda är lika. Därav, 1124 är ett spionnummer.

java intervjufrågor

På samma sätt kan vi kontrollera andra siffror också. Vissa andra spionnummer är 22, 123, 132, etc.

Spionnummer i Java

Steg för att hitta spionnummer

  1. Läs eller initiera ett nummer ( n ) som du vill kontrollera.
  2. Deklarera två variabler belopp och produkt att lagra summa och produkt av siffror. Initiera summan med 0 och produkt med 1 .
  3. Hitta sista siffra (n%10) av det givna numret med hjälp av modulo-operatorn.
  4. Lägg tillden sista siffran till variabelsumman.Multipliceraden sista siffran med produktvariabeln.Dela uppdet givna talet (n) med 10. Den tar bort den sista siffran.
  5. Upprepa stegen 3 till 6 tills det givna talet (n) blir 0.
  6. Om variabeln summa och produkt har samma värde, är det givna talet (n) a spionera siffra , annars inte ett spionnummer.

Låt oss implementera ovanstående steg i ett Java-program.

Java-program för spionnummer

SpyNumberExample1.java

iterera genom kart-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.'); } } 

Utgång 1:

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

Utgång 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;>