计算对数(i,j),以使C ++中arr [i]可被arr [j]整除或arr [j]被arr [i]整除
我们给了N个元素的数组arr[]。目的是找到所有有效索引对(i,j)的计数,以使arr[i]可被arr[j]整除或arr[j]可被arr[i]整除且i!=j。
我们将通过对每个对数使用两个for循环遍历数组arr[]并检查当i为arr[i]%arr[j]==0或arr[j]%arr[i]==0时执行此操作!=j。如果为true,则增加对数。
让我们通过示例来理解。
输入−Arr[]={2,4,3,6}N=4
输出-有效对数-3
说明-有效对是-
Arr[0] & Arr[1] → (2,4) here 4%2==0 0!=1 Arr[0] & Arr[1] → (2,6) here 6%2==0 0!=3 Arr[2] & Arr[3] → (3,6) here 6%3==0 2!=3
输入−Arr[]={2,5,7,9,11}N=5
输出-有效对数-0
说明-没有数字完全除以另一个。不能形成一对。
以下程序中使用的方法如下
我们采用用随机数初始化的整数数组Arr[]。
取一个变量n,该变量存储Arr[]的长度。
函数countPairs(intarr[],intn)接受一个数组,将其长度作为输入并返回有效且满足所需条件的对。
对数组中的每个元素使用两个for循环遍历数组。
外循环从0<=i<n-1,内循环i<j<n
检查arr[i]%arr[j]==0或arr[j]%arr[i]==0。如果任一条件为真,则递增计数一次。
在所有循环结束时,计数将具有有效的对总数
返回计数结果。
示例
#include <bits/stdc++.h>
using namespace std;
int countPairs(int arr[], int n){
//配对数
int count = 0;
for (int i = 0; i < n-1; i++){
for (int j = i + 1; j < n; j++){
if(arr[i]%arr[j]==0 || arr[j]%arr[i]==0)
{ count++; }
}
}
return count;
}
int main(){
int Arr[] = { 2,3,4,5,6 };
int len = sizeof(Arr) / sizeof(Arr[0]);
cout << "Count of number of pairs : "<< countPairs(Arr, len);
return 0;
}输出结果
如果我们运行上面的代码,它将生成以下输出-
Count of number of pairs : 3
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短