dart program to check spy number

Hi Guys, Welcome to Proto Coders Point.

In this Dart Programming Tutorial, will learn what is a spy number and write a dart programs to check if the given number is spy number or not.

A spy number program is the most frequently programming logic program that is been asked in technical round of job interview.

What is a spy number

A Integer number is been split into individual digits, and the sum and product is found, if the sum & product are equal then it’s called as spy number.

Spy Number Example

Let’s us take a number ‘123’ and then split it into individual digit number (1, 2, 3) and let’s check where the number is spy or not a spy, so to find it we need to get sum and product of it Eg:

Sum = (1 + 2 + 3) = 6.

Product = ( 1 * 2 * 3) = 6

If you observe sum and product are equal, Therefore, 123 is a spy number

dart program to check given number is spy number or not

Algorithm to check spy number in dart

  1. Input num
  2. Declare three variable sum and product, lastdigit, initialize set value of sum = 0, product = 1.
  3. Find the last digit of given number Eg: (n%10) can be done using module operator.
  4. Add the last digit to sum variable Eg: sum = sum + lastdigit.
  5. Do multiplication using lastdigit Eg: product = product * lastdigit.
  6. Now remove last digit from num, to do so Divide num by 10.
  7. Goto step 3, loop run until num become 0.
  8. now if final sum and product are same/equal, then the given number(num) is a spy number else not a spy number.

Dart program to check if given number is spy number

import 'dart:io';
void main() {
  late int num; 
 int  product = 1, sum = 0, lastdigit;
  print('Enter a number to check for spy number');
  num = int.parse(stdin.readLineSync()!);
  
  while(num>0){
    lastdigit = num % 10;
    sum = sum +lastdigit;

    product = product * lastdigit;

    num = num~/10;
  }

  if(sum == product){
    print("The Entered Number is Spy number");
  }else{
    print("The Entered Number is Not a Spy number");
  }
}

output


Print all spy number from 1 to n given range in dart program

import 'dart:io';

bool checkSpy(int number){
   int  product = 1, sum = 0, lastdigit;
   while(number>0){
    lastdigit = number % 10;
    sum = sum +lastdigit;

    product = product * lastdigit;

    number = number~/10;
  }

  if(sum == product)
  return true;

  return false;
}
void main() {
   int startrange= 0, highrange = 0; 
 
  print('Enter Start Range to check spy number');
  startrange = int.parse(stdin.readLineSync()!);


   print('Enter High Range to check spy number');
   highrange = int.parse(stdin.readLineSync()!);


   print("");

   print("Spy Numbers Between $startrange  to $highrange are ");


   for(int i=startrange; i<=highrange;i++){
     if(checkSpy(i)){
       print("$i");
     }
   }
  

}

output