Given an integer N, the task is to check whether the product of digits at even and odd places of a number are equal. If they are equal, print Yes otherwise print No.
Examples:
Input: N = 2841
Output: Yes
Product of digits at odd places = 2 * 4 = 8
Product of digits at even places = 8 * 1 = 8Input: N = 4324
Output: No
Product of digits at odd places = 4 * 2 = 8
Product of digits at even places = 3 * 4 = 12
Approach:
- Find product of digits at even places and store it in prodEven.
- Find product of digits at odd places and store it in prodOdd.
- If prodEven = prodOdd then print Yes otherwise print No.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function that returns true if the product // of even positioned digits is equal to // the product of odd positioned digits in n bool productEqual( int n) { // If n is a single digit number if (n < 10) return false ; int prodOdd = 1, prodEven = 1; while (n > 0) { // Take two consecutive digits // at a time // First digit int digit = n % 10; prodOdd *= digit; n /= 10; // If n becomes 0 then // there's no more digit if (n == 0) break ; // Second digit digit = n % 10; prodEven *= digit; n /= 10; } // If the products are equal if (prodEven == prodOdd) return true ; // If products are not equal return false ; } // Driver code int main() { int n = 4324; if (productEqual(n)) cout << "Yes" ; else cout << "No" ; return 0; } |
Java
// Java implementation of the approach class GFG { // Function that returns true // if the product of even positioned // digits is equal to the product of // odd positioned digits in n static boolean productEqual( int n) { // If n is a single digit number if (n < 10 ) return false ; int prodOdd = 1 , prodEven = 1 ; while (n > 0 ) { // Take two consecutive digits // at a time // First digit int digit = n % 10 ; prodOdd *= digit; n /= 10 ; // If n becomes 0 then // there's no more digit if (n == 0 ) break ; // Second digit digit = n % 10 ; prodEven *= digit; n /= 10 ; } // If the products are equal if (prodEven == prodOdd) return true ; // If products are not equal return false ; } // Driver code public static void main(String args[]) { int n = 4324 ; if (productEqual(n)) System.out.println( "Yes" ); else System.out.println( "No" ); } // This code is contributed by Ryuga } |
Python3
# Python implementation of the approach # Function that returns true if the product # of even positioned digits is equal to # the product of odd positioned digits in n def productEqual(n): if n < 10 : return False prodOdd = 1 ; prodEven = 1 # Take two consecutive digits # at a time # First digit while n > 0 : digit = n % 10 prodOdd * = digit n = n / / 10 # If n becomes 0 then # there's no more digit if n = = 0 : break ; digit = n % 10 prodEven * = digit n = n / / 10 # If the products are equal if prodOdd = = prodEven: return True # If the products are not equal return False # Driver code n = 4324 if productEqual(n): print ( "Yes" ) else : print ( "No" ) # This code is contributed by Shrikant13 |
C#
// C# implementation of the approach using System; class GFG { // Function that returns true // if the product of even positioned // digits is equal to the product of // odd positioned digits in n static bool productEqual( int n) { // If n is a single digit number if (n < 10) return false ; int prodOdd = 1, prodEven = 1; while (n > 0) { // Take two consecutive digits // at a time // First digit int digit = n % 10; prodOdd *= digit; n /= 10; // If n becomes 0 then // there's no more digit if (n == 0) break ; // Second digit digit = n % 10; prodEven *= digit; n /= 10; } // If the products are equal if (prodEven == prodOdd) return true ; // If products are not equal return false ; } // Driver code static void Main() { int n = 4324; if (productEqual(n)) Console.WriteLine( "Yes" ); else Console.WriteLine( "No" ); } } // This code is contributed by mits |
PHP
<?php // PHP implementation of the approach // Function that returns true if the product // of even positioned digits is equal to // the product of odd positioned digits in n function productEqual( $n ) { // If n is a single digit number if ( $n < 10) return false; $prodOdd = 1; $prodEven = 1; while ( $n > 0) { // Take two consecutive digits // at a time // First digit $digit = $n % 10; $prodOdd *= $digit ; $n /= 10; // If n becomes 0 then // there's no more digit if ( $n == 0) break ; // Second digit $digit = $n % 10; $prodEven *= $digit ; $n /= 10; } // If the products are equal if ( $prodEven == $prodOdd ) return true; // If products are not equal return false; } // Driver code $n = 4324; if (productEqual(! $n )) echo "Yes" ; else echo "No" ; // This code is contributed by jit_t ?> |
No
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.