C++ program to determine can all numbers of an array be made equal

Check if all the numbers of array can be made equal in C+++

Here we will discuss the program to Check if all the numbers of array can be made equal in C++.

We need to check if all the numbers of an array can be  made equal to a particular number. In a single operation, any element of the array can be either multiplied by 2 or by 3. If it’s possible to make all the array elements equal with the given operation then print Yes else print No.

Can all number of an array be made equalin C++

Algorithm

  • Start iterating over the array.
  • Run a loop till arr[i]%2=0, and inside that loop divide the arr[i] by 2.
  • Run a loop till arr[i]%3=0, and inside that loop divide the arr[i] by 3.
  • Check if arr[i] != arr[0], then return 0.
  • Otherwise, return 1.

Code in C++

//Write a program to check can all number of an array be made equal in C++

#include <bits/stdc++.h>
using namespace std;

int EqualNumbers(int arr[], int n)
{
    for (int i = 0; i < n; i++) {
 
        // Divide number by 2
        while (arr[i] % 2 == 0)
            arr[i] /= 2;
 
        // Divide number by 3
        while (arr[i] % 3 == 0)
            arr[i] /= 3;
 
        if (arr[i] != arr[0]) {
            return 0;
        }
    }
 
    return 1;
}
 
// Driver code
int main()
{
    int arr[] = { 50, 75, 100 };
 
    int n = sizeof(arr) / sizeof(arr[0]);
 
    if (EqualNumbers(arr, n))
        cout<<"Yes";
    else
        cout<<"No";
 
    return 0;
}

Output :

Yes

Prime Course Trailer

Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription