logo

Spion nummer i Java

I dette afsnit vil vi lære hvad er et spionnummer og også skabe Java programmer for at kontrollere, om det givne nummer er Spion eller ikke. Det spion nummer program bliver ofte spurgt ind Java kodningstest.

Spion nummer

Et positivt heltal kaldes et spiontal, hvis sum og produkt af dens cifre er ens. Med andre ord kaldes et tal, hvis sum og produkt af alle cifre er ens, a spionnummer .

Eksempel på spionnummer

Lad os tage nummeret 1124 og tjekke, om nummeret er en spion eller ej. Først vil vi opdele det i cifre (1, 1, 2, 4). Find derefter summen og produktet af alle cifrene.

Sum =1+1+2+4= 8

jquery et klik

Produkt =1*1*2*4= 8

Vi observerer, at summen og produktet af cifrene begge er lige store. Derfor, 1124 er et spionnummer.

hvor mange uger er der på en måned

På samme måde kan vi også tjekke andre tal. Nogle andre spionnumre er 22, 123, 132 osv.

Spion nummer i Java

Trin til at finde spionnummer

  1. Læs eller initialiser et tal ( n ), som du vil kontrollere.
  2. Deklarer to variable sum og produkt at gemme sum og produkt af cifre. Initialiser sum med 0 og produkt med 1 .
  3. Find sidst ciffer (n%10) af det givne tal ved at bruge modulo-operatoren.
  4. Tilføjedet sidste ciffer til den variable sum.Formere sigdet sidste ciffer med produktvariablen.Deledet givne tal (n) med 10. Det fjerner det sidste ciffer.
  5. Gentag trin 3 til 6 indtil det givne tal (n) bliver 0.
  6. Hvis variablen sum og produkt har samme værdi, så er det givne tal (n) a spion nummer , ellers ikke et spionnummer.

Lad os implementere ovenstående trin i et Java-program.

Spion nummer Java-program

SpyNumberExample1.java

ordombrydning css
 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.'); } } 

Output 1:

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

Output 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;>