给我们一个整数类型元素的数组,任务是从给定数组中形成对,并计算该对中元素的乘积,并检查给定数组中是否存在给定乘积。
输入− int arr [] = {6,2,3,1,5,10}
输出-其乘积在同一数组中的对数为-7
说明-可以从给定数组形成的对是:(6,2),(6,3),(6,1),(6,5),(6,10),(2,3), (2,1),(2,5),(2,10),(3,1),(3,5),(3,10),(1,5),(1,10),(5 ,10)。所以在同一数组中具有给定乘积值的对是(2,3)等于6,(6,1)等于6,(3,1)等于3,(2,5)等于10,(1,5)等于5,(2,1)等于2,(1,10)等于10。
输入− int arr [] = {2,4,8,5,10}
输出-积在同一数组中的对的数量为-2
说明-可以从给定数组形成的对为:(2,4),(2,8),(2,5),(2,10),(4,8),(4,5), (4,10),(8,5),(8,10),(5,10)。因此,在同一数组中具有给定乘积值的对是(2,4)等于8,(5,2)等于10。
解决给定问题的方法可以有多种,即幼稚方法和有效方法。因此,让我们首先来看一下幼稚的方法。
输入一个整数元素数组并计算数组的大小并将数据传递给函数
声明一个临时变量计数,以存储具有给定数组中可用乘积值的对数。
从i到0的FOR循环开始直到数组大小
在循环内部,从j到i + 1开始另一个循环,直到数组大小
在循环内部,将乘积计算为arr [i] * arr [j]
从k到0开始另一个循环,直到数组大小
在K循环内,检查IF product = arr [k],然后将计数加1
返回计数
打印结果。
输入一个整数元素数组并计算数组的大小并将数据传递给函数
声明一个临时变量计数,以存储具有给定数组中可用乘积值的对数。
创建设置为pro的STL类型的变量
从i到0的FOR循环开始直到数组大小
在循环内,在设置变量pro中插入arr [i]
从i到0开始另一个循环,直到数组大小
在循环内部,从j到i + 1开始另一个循环,直到数组大小
将乘积设置为arr [i] * arr [j]
检查IF pro.find(product)!= pro.end(),然后将计数加1
返回计数
打印结果。
#include <bits/stdc++.h> using namespace std; int product_pair(int arr[], int size){ int product = 1; int count = 0; for(int i = 0 ; i<size ; i++){ for(int j = i+1;j<size;j++){ product = arr[i] * arr[j]; for(int pro = 0 ; pro < size; pro++){ if(product == arr[pro]){ count++; } } } } return count; } int main(){ int arr[] = {6, 2, 3, 1, 5, 10}; int size = sizeof(arr)/sizeof(arr[0]); cout<<"Count of pairs whose products exist in same array are: "<<product_pair(arr,size); return 0; }
输出结果
如果我们运行上面的代码,它将生成以下输出-
Count of pairs whose products exist in same array are: 7
#include<bits/stdc++.h> using namespace std; int product_pair(int arr[], int size){ set< int > pro; int count = 0; int product = 1; for (int i = 0 ; i < size; i++){ pro.insert(arr[i]); } for (int i = 0 ; i < size; i++){ for (int j = i + 1; j < size ; j++){ product = arr[i] * arr[j]; if(pro.find(product) != pro.end()){ count++; } } } return count; } int main(){ int arr[] = {6, 2, 3, 1, 5, 10}; int size = sizeof(arr)/sizeof(arr[0]); cout<<"Count of pairs whose products exist in same array are: "<<product_pair(arr,size); return 0; }
输出结果
如果我们运行上面的代码,它将生成以下输出-
Count of pairs whose products exist in same array are: 7