logo

Numéro d'espionnage en Java

Dans cette section, nous apprendrons qu'est-ce qu'un numéro d'espionnage et aussi créer Programmes Java pour vérifier si le numéro donné est Espionner ou non. Le programme de numéro d'espionnage est fréquemment demandé dans Java essai de codage.

Numéro d'espionnage

Un entier positif est appelé numéro espion si le somme et produit de ses chiffres sont égaux. En d’autres termes, un nombre dont la somme et le produit de tous les chiffres sont égaux est appelé un numéro d'espion .

Exemple de numéro d'espion

Prenons le numéro 1124 et vérifions si le numéro est un espion ou non. Tout d’abord, nous allons le diviser en chiffres (1, 1, 2, 4). Ensuite, trouvez la somme et le produit de tous les chiffres.

Somme =1+1+2+4= 8

int pour chaîne java

Produit =1*1*2*4= 8

Nous observons que la somme et le produit des chiffres sont tous deux égaux. Ainsi, 1124 est un numéro d'espionnage.

De même, nous pouvons également vérifier d’autres numéros. Certains autres numéros d'espionnage sont 22, 123, 132, etc.

Numéro d'espionnage en Java

Étapes pour trouver un numéro d'espionnage

  1. Lire ou initialiser un numéro ( n ) que vous souhaitez vérifier.
  2. Déclarez deux variables somme et produit pour stocker la somme et le produit des chiffres. Initialiser la somme avec 0 et produit avec 1 .
  3. Trouvez le dernier chiffre (n%10) du nombre donné en utilisant l'opérateur modulo.
  4. Ajouterle dernier chiffre de la somme variable.Multiplierle dernier chiffre avec la variable produit.Diviserle nombre donné (n) par 10. Il supprime le dernier chiffre.
  5. Répétez les étapes 3 à 6 jusqu'à ce que le nombre donné (n) devienne 0.
  6. Si la somme variable et le produit ont la même valeur, alors le nombre donné (n) est un espionner nombre , sinon pas un numéro d'espion.

Implémentons les étapes ci-dessus dans un programme Java.

Programme Java de numéro d'espionnage

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

Sortie 1 :

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

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