
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Count Number of Pairs (i, j) Such That arr[i] + arr[j] = arr[i + arr[j]] in C++
We are given an array of n positive numbers.The goal is to count the ordered pairs (i,j) such that arr[i]*arr[j] > arr[i]+arr[j] and 0<=i<j<n. Where n is the number of elements in the array.
We will traverse the array using two for loops for each number of pairs. Now calculate the sum and product of arr[i] and arr[j]. If the product is greater than sum increment count.
Let’s understand with examples.
Input − Arr[]= { 1,1,2,3 } N=4
Output − Count of pairs − 1
Explanation − Only valid pair is − (2,3)
2*3=6 > 2+3=5
Input − Arr[]= { 2,2,2 } N=3
Output − Count of pairs − 0
Explanation − both 2*2 and 2+2 is 4. No pairs where product>sum
Approach used in the below program is as follows
We take an integer array arr[] initialized with positive numbers.
Take a variable n which stores the length of Arr[].
Function countPairs(int arr[], int n) takes an array, its length as input and prints the count of pairs with product>sum.
Traverse array using two for loops for each element of the pair.
Outer Loop from 0<=i<n-1, inner loop i<j<n
Check if arr[i]*arr[j]>arr[i]+arr[j]. Increment count if true.
At the end of all loops count will have a total number of pairs that have product > sum
Return count as result.
Example
#include <bits/stdc++.h> #include <math.h> using namespace std; int countPairs(int arr[], int n){ int count=0; int sum=0; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ if(arr[i]*arr[j]>arr[i]+arr[j]) //condition { count++; } } } return count; } int main(){ int arr[] = { 1,2,3,2 }; int len = sizeof(arr) / sizeof(int); cout<<"Count of number of pairs :"<<countPairs(arr, len); return 0; }
Output
If we run the above code it will generate the following output −
Count of number of pairs :2