我们给了N个元素的数组arr []。目的是找到遵循某些条件的所有有效对(Arr [i],Arr [j])的计数。如果-配对Arr [i],Arr [j]无效-
Arr [i] == Arr [j]
Arr [i] + Arr [j]是偶数
i + j <120
注-编曲[I],编曲[j]与编曲[j]时,编曲[I]将被计为一对。有效对具有i!= j让我们通过示例进行了解。
Arr[]= { 3,2,1,2,4,3 } N=4
输出结果
Count of valid pairs: 2
有效对是-
Arr[0] & Arr[4] → (3,3) here Arr[i]==Arr[j] & 3+3 is even also i!=j and i+j<120 Arr[1] & Arr[3] → (2,2) here Arr[i]==Arr[j] & 2+2 is even also i!=j and i+j<120
Arr[]= { 1,2,3,4,5,6 } N=6
输出结果
Count of valid pairs: 0
没有元素的重复。i!= j时,不可能有一对类型(a,a)。
我们采用用随机数初始化的整数数组Arr []。
取一个变量n,它存储Arr []的长度。
函数countPairs(int arr [],int n)接受一个数组,将其长度作为输入并返回有效且满足所需条件的对。
对数组中的每个元素使用两个for循环遍历数组。
外循环从0 <= i <n-1,内循环i <j <n
计算arr [i]和arr [j]之和assum =(arr [i] + aar [j])。
检查一对是否有效。比较i!= j和sum%2 == 0还是i + j <120。
现在检查arr [i] == arr [j]。增量计数。
在所有循环结束时,计数将具有有效的对总数
返回计数结果。
#include <bits/stdc++.h> using namespace std; int countPairs(int arr[], int n){ int count=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++) //j=i+1 we don't have to check i!=j{ int sum=arr[i]+arr[j]; //valid pairs have i!=j if( sum%2==0 && i+j<120){ if( arr[i]==arr[j] ) //valid pair{ count++; cout<<endl<<" a:"<<arr[i]<<"b: "<<arr[j]; } } } } return count; } int main(){ int arr[] = {1,2,3,2,4,1,4 }; int n = sizeof(arr) / sizeof(arr[0]); cout <<endl<<"Valid pairs in array:"<<countPairs(arr, n); return 0; }
输出结果
Valid pairs in array: a:1b: 1 a:2b: 2 a:4b: 43