Nesta seção, aprenderemos o que é um número espião e também criar Programas Java para verificar se o número fornecido é Espião ou não. O programa de número espião é frequentemente perguntado em Java teste de codificação.
Número espião
Um número inteiro positivo é chamado de número espião se o soma e produtos de seus dígitos são iguais. Em outras palavras, um número cuja soma e produto de todos os algarismos são iguais é chamado de número espião .
Exemplo de número espião
Vamos pegar o número 1124 e verificar se o número é espião ou não. Primeiro, vamos dividi-lo em dígitos (1, 1, 2, 4). Depois disso, encontre a soma e o produto de todos os dígitos.
Soma =1+1+2+4= 8
ator amrita rao
produtos =1*1*2*4= 8
Observamos que a soma e o produto dos dígitos são iguais. Por isso, 1124 é um número espião.
enquanto loop java
Da mesma forma, podemos verificar outros números também. Alguns outros números espiões são 22, 123, 132, etc.
Passos para encontrar o número espião
- Ler ou inicializar um número ( n ) que você deseja verificar.
- Declarar duas variáveis soma e produtos para armazenar soma e produto de dígitos. Inicialize a soma com 0 e produto com 1 .
- Encontre o durar dígito (n% 10) do número fornecido usando o operador de módulo.
- Repita as etapas 3 a 6 até que o número fornecido (n) se torne 0.
- Se a variável soma e produto tiverem o mesmo valor, então o número fornecido (n) é um espião número , senão não é um número espião.
Vamos implementar as etapas acima em um programa Java.
Programa Java de número espião
SpyNumberExample1.java
programas python
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.'); } }
Saída 1:
Enter the number to check: 123 The given number is a spy number.
Saída 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('Enter the lower range: '); //reads lower range lowerRange = sc.nextInt(); System.out.print('Enter upper range: '); //reads the upper range upperRange = sc.nextInt(); System.out.println('The Spy numbers between '+ lowerRange + ' to '+ upperRange+' are: '); 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;>
=upperrange;>