Numéro d'espionnage en Java
Dans cet article, nous allons développer un programme Java pour vérifier si le numéro donné est un numéro espion ou non ? Nous développerons également un programme Java pour trouver tous les numéros d'espionnage existant entre deux numéros donnés.
Un nombre dont la somme des chiffres de est égale au produit de ses chiffres est appelé numéro espion.
Exemple :- 132
La somme des chiffres =1 + 3 + 2 =6
Le produit des chiffres =1 * 3 * 2 =6
Donc, 132 est un nombre espion.
De même, 1124 est aussi un numéro espion.
La somme des chiffres =1 + 1 + 2 + 4 =8
Le produit des chiffres =1 * 1 * 2 * 4 =8
Procédure pour développer une méthode pour vérifier que le numéro donné est un numéro d'espionnage ou non,
1) Prendre un nombre
2) Déclarer les variables somme et produit. Initialisez la variable somme avec 0 et la variable produit avec 1.
3) Trouvez le dernier chiffre du nombre
4) Ajoutez le dernier chiffre à la variable somme
5) Multipliez le dernier chiffre avec le variable de produit
6) Supprimez le dernier chiffre du nombre
7) Répétez 3 à 6 étapes jusqu'à ce que le nombre devienne 0
8) Si la valeur de la somme et de la variable de produit est égale, alors la donnée le numéro est un numéro d'espionnage sinon ce n'est pas un numéro d'espionnage.
import java.util.Scanner;
public class SpyNumber {
// method to check the Spy number
private static boolean isSpy(int number) {
// declare variables
int lastDigit = 0;
int sum = 0;
int product = 1;
// iterate all digits of number
while(number != 0) {
// find last digit
lastDigit = number % 10;
// add last digit to sum
sum = sum + lastDigit;
// multiply last digit with product
product = product * lastDigit;
// remove last digit
number = number / 10;
}
// compare sum and product
if(sum == product)
return true;
return false;
}
// main method
public static void main(String[] args) {
// declare variables
int number = 0;
boolean result = false;
// create Scanner class object
// to take input
Scanner scan = new Scanner(System.in);
// take input from end-user
System.out.print("Enter an integer number::");
number = scan.nextInt();
// check number is Spy number or not
result = isSpy(number);
// display result
if(result)
System.out.println(number +
" is a Spy number.");
else
System.out.println(number +
" is not a Spy number.");
// close Scanner class object
scan.close();
}
}
La sortie des différents cas de test :-
Entrez un nombre entier ::132
132 est un numéro espion.
Entrez un nombre entier ::133
133 n'est pas un numéro espion.
Voir également :- Numéro spécial, Numéro magique, Numéro Armstrong, Numéro parfait, Numéro maléfique, Numéro espion, Numéro ensoleillé en Java
Programme Java pour trouver tous les numéros d'espionnage dans une plage donnée
On peut aussi trouver tout numéro d'espion qui existe entre deux numéros donnés. Pour cela, nous devons utiliser une boucle.
import java.util.Scanner;
public class SpyNumberInRange {
// method to check the Spy number
private static boolean isSpy(int number) {
// declare variables
int lastDigit = 0;
int sum = 0;
int product = 1;
// iterate all digits of number
while(number != 0) {
// find last digit
lastDigit = number % 10;
// add last digit to sum
sum = sum + lastDigit;
// multiply last digit with product
product = product * lastDigit;
// remove last digit
number = number / 10;
}
// compare sum and product
if(sum == product)
return true;
return false;
}
// main method
public static void main(String[] args) {
// declare variables
int minRange = 0, maxRange = 0;
//create Scanner class object to take input
Scanner scan = new Scanner(System.in);
System.out.print("Enter minimum value of range:");
minRange = scan.nextInt();
System.out.print("Enter maximum value of range:");
maxRange = scan.nextInt();
// loop
System.out.println("The Spy number from "+
minRange + " to "+ maxRange+" are: ");
for(int i=minRange; i<=maxRange; i++) {
// check number
if(isSpy(i))
System.out.print(i +" ");
}
// close Scanner class object
scan.close();
}
}
La sortie des différents cas de test :-
Entrez la valeur minimale de la plage :1
Entrez maximum
valeur de la plage :1 000
Les numéros Spy de 1 à 1 000 sont :1 2 3 4 5 6 7 8 9 22 123 132 213 231 312 321
Entrez la valeur minimale de la plage : 1000
Entrez maximum
valeur de la plage :2000
Les numéros Spy de 1000 à 2000 sont :1124 1142 1214 1241 1412 1421