Related Articles

Related Articles

Check if product of digits of a number at even and odd places is equal
  • Last Updated : 20 Mar, 2019

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 = 8

Input: 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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>

chevron_right


Output:

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.




My Personal Notes arrow_drop_up
Recommended Articles
Page :