C++ 中数组中可整除对的数量
给定一个任意大小的包含整数元素的数组,任务是计算数组中对的数量,使得一对中的一个元素可以整除另一对中的元素。
数组是一种数据结构,可以存储相同类型元素的固定大小的顺序集合。数组用于存储数据集合,但通常将数组视为相同类型变量的集合更有用。
例如
Input − int arr[] = {1, 2, 3, 6}
Output − count is 4解释 - (1,2), (1,3), (1,6) 和 (3,6) 是一对,其中一对中的一个元素可以整除另一对,因为 1 可以整除任何数字,并且 3 可以整除 6。所以数量是 4。
Input − int arr[] = {2, 5, 10}
Output − count is 2解释 - (2, 10) 和 (5,10) 是一对,其中一对中的一个元素可以整除另一对,因为 2 可以整除 10,并且 5 可以整除 10。所以数量是 2。
下面程序中使用的解决方法如下
创建一个数组,例如 arr[]
使用 length() 函数计算数组的长度,该函数将根据数组中的元素返回一个整数值。
取一个临时变量,它将存储仅存在于数组中的元素的数量。
使用 for 循环,从 i 为 0 开始,到 i 小于数组大小结束
在循环内部,使用另一个循环,从 j 为 i+1 开始,到 j 小于大小结束
在循环内部,检查 arr[i] % arr[j] = 0 或 arr[j] % arr[i] = 0,如果是,则递增计数
返回计数
打印结果。
示例
#include <iostream>
using namespace std;
int divisibles(int a[], int size){
int result = 0;
// Iterating through all pairs
for (int i=0; i<size; i++){
for (int j=i+1; j<size; j++){
if (a[i] % a[j] == 0 || a[j] % a[i] == 0){
result++;
}
}
}
return result;
}
int main(){
int a[] = {1, 4, 7, 8, 9};
int size = sizeof(a) / sizeof(a[0]);
cout <<"count is " <<divisibles(a, size);
return 0;
}输出
如果我们运行上述代码,我们将得到以下输出:
count is 5
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP