Write a Java program to check spy number using a while loop. Any number can be a spy number if the sum of the total digits equals the digit’s product. For instance, 132 is because 1 + 3 + 2 (6) equals to 1 * 3 * 2 (6).
package NumPrograms; import java.util.Scanner; public class SpyNumber1 { private static Scanner sc; public static void main(String[] args) { int num, lastDigit, sum = 0, prod = 1; sc = new Scanner(System.in); System.out.print("Enter any Number to Check Spy Number = "); num = sc.nextInt(); int n = num; while(num > 0) { lastDigit = num % 10; sum = sum + lastDigit; prod = prod * lastDigit; num = num / 10; } System.out.println("The Sum of Total Digits = " + sum); System.out.println("The Product of Total Digits = " + prod); if (sum == prod) { System.out.println(n + " is a Spy Number"); } else { System.out.println(n + " is Not a Spy Number"); } } }
This Java program checks whether the given number is a spy number or not using a for loop.
package NumPrograms; import java.util.Scanner; public class SpyNumber2 { private static Scanner sc; public static void main(String[] args) { int num, lastDigit, sum, prod; sc = new Scanner(System.in); System.out.print("Enter any Number = "); num = sc.nextInt(); int n = num; for(sum = 0, prod = 1; num > 0; num = num /10) { lastDigit = num % 10; sum = sum + lastDigit; prod = prod * lastDigit; } System.out.println("The Sum of Total Digits = " + sum); System.out.println("The Product of Total Digits = " + prod); if (sum == prod) { System.out.println(n + " is a Spy Number"); } else { System.out.println(n + " is Not"); } } }
Enter any Number = 132
The Sum of Total Digits = 6
The Product of Total Digits = 6
132 is a Spy Number
Enter any Number = 121
The Sum of Total Digits = 4
The Product of Total Digits = 2
121 is Not
In this example, the checkSpyNumber function checks whether the given number is a spy number or not and returns the boolean value.
package NumPrograms; import java.util.Scanner; public class SpyNumber3 { private static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); System.out.print("Enter any Number = "); int num = sc.nextInt(); if (checkSpyNumber(num) == true) { System.out.println(num + " is a Spy Number"); } else { System.out.println(num + " is Not"); } } static boolean checkSpyNumber(int num) { int lastDigit, sum, prod; for(sum = 0, prod = 1; num > 0; num = num /10) { lastDigit = num % 10; sum = sum + lastDigit; prod = prod * lastDigit; } System.out.println("The Sum of Total Digits = " + sum); System.out.println("The Product of Total Digits = " + prod); if (sum == prod) { return true; } else { return false; } } }
Enter any Number = 2215
The Sum of Total Digits = 10
The Product of Total Digits = 20
2215 is Not
Enter any Number = 4211
The Sum of Total Digits = 8
The Product of Total Digits = 8
4211 is a Spy Number
This Java program checks and prints spy numbers from 1 to N or within a given range.
package NumPrograms; import java.util.Scanner; public class SpyNumber4 { private static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); System.out.print("Enter Start and End Range = "); int start = sc.nextInt(); int end = sc.nextInt(); System.out.println("The List of Spy Numbers from " + start + " to " + end); for(int i = start; i <= end; i++) { if (checkSpyNumber(i) == true) { System.out.print(i + " "); } } } static boolean checkSpyNumber(int num) { int lastDigit, sum, prod; for(sum = 0, prod = 1; num > 0; num = num /10) { lastDigit = num % 10; sum = sum + lastDigit; prod = prod * lastDigit; } if (sum == prod) { return true; } else { return false; } } }
Enter Start and End Range = 2 10000
The List of Spy Numbers from 2 to 10000
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