数组中的元素不能被C ++中的另一个数组的任何元素整除
在这个问题中,我们给了两个数组arr1 []和arr2 []。我们的任务是创建一个程序,以查找不能被另一个数组的任何元素整除的数组元素。
问题描述: 在这里,我们需要找到arr1中所有不能被arr2的任何元素整除的元素。
让我们举个例子来了解这个问题,
输入: arr1 [] = {17,15,5,12,8} arr2 [] = {5,4}
输出: 17
解释-
arr1的元素和划分它们的元素,
17->没有元素可以划分它。
15-> 5划分元素。
5-> 5划分元素。
12-> 4划分元素。
8-> 4划分元素。
解决方法-
解决该问题的一种简单而幼稚的方法是使用直接方法。我们将遍历arr1,对于arr1的每个元素,我们将检查arr2的任何元素是否将元素除。如果没有元素将其划分,则打印该元素。
算法-
步骤1:循环到arr1,i-> 0到n-1。
步骤2.1: 对于每个arr1 [i],为j-> 0到n-1循环arr2。
步骤2.2.1: 如果arr1 [i]%arr2 [j] == 0,则继续标记= -1。
步骤2.3:如果标志!= -1,则打印arr1 [i]。
该程序说明了我们解决方案的工作原理,
示例
#include<iostream>using namespace std;
void findEleNotDivisbleByArray(int arr1[], int arr2[], int arr1Size, int arr2Size) {
int flag = 0;
for (int i = 0; i < arr1Size; i++) {
flag = 0;
for (int j = 0; j < arr2Size; j++){
if( arr1[i] % arr2[j] == 0 ) {
flag = -1;
break;
}
}
if ( flag == 0 )
cout<<arr1[i]<<"\t";
}
}
int main()
{
int arr1[] = {17, 15, 5, 12, 23, 8};
int arr2[] = {5, 4};
int arr1Size = sizeof(arr1)/sizeof(arr1[0]);
int arr2Size = sizeof(arr2)/sizeof(arr2[0]);
cout<<"不能被另一个数组的任何元素整除的数组元素是 ";
findEleNotDivisbleByArray(arr1, arr2, arr1Size, arr2Size);
return 0;
}
输出-
不能被另一个数组的任何元素整除的数组元素是 17 23
此解决方案有效,但效率不高。因此,让我们来看一个有效的解决方案,
在此方法中,我们将创建arr1元素的数组isDivisible []。对于arr2的所有元素,标记其所有倍数,直到arr1的最大元素。并打印isDisible数组中标记为false的所有元素。
该程序说明了我们解决方案的工作原理,
示例
#include<iostream>using namespace std;
void findEleNotDivisbleByArray(int arr1[], int arr2[], int arr1Size, int arr2Size) {
int maxEle = 0;
for (int i = 0; i < arr1Size; i++)
if (arr1[i] > maxEle)
maxEle = arr1[i];
int mark[maxEle];
for (int i = 0; i < arr2Size; i++)
for (int j = arr2[i]; j <= maxEle; j += arr2[i])
mark[j] = 1;
for (int i = 0; i < arr1Size; i++)
if ( mark[arr1[i]] != 1)
cout << arr1[i] << endl;
}
int main()
{
int arr1[] = {17, 15, 5, 12, 8};
int arr2[] = {5, 4};
int arr1Size = sizeof(arr1)/sizeof(arr1[0]);
int arr2Size = sizeof(arr2)/sizeof(arr2[0]);
cout<<"不能被另一个数组的任何元素整除的数组元素是 ";
findEleNotDivisbleByArray(arr1, arr2, arr1Size, arr2Size);
return 0;
}
输出-
不能被另一个数组的任何元素整除的数组元素是 17
以上是 数组中的元素不能被C ++中的另一个数组的任何元素整除 的全部内容, 来源链接: utcz.com/z/314304.html