C++ 中统计数组元素个数,这些元素可以整除其他所有元素的和
假设我们有一个整数类型的数组 arr[],任务是计算数组中可以整除其他所有元素之和的元素的个数。
数组是一种数据结构,可以存储相同类型元素的固定大小的顺序集合。数组用于存储数据集合,但通常将数组视为相同类型变量的集合更有用。
例如
Input − int arr_1[] = {9, 6, 3} Output − count is 3
解释 - 因为元素 9+6 = 15 可以被 3 整除,元素 9+3 =12 可以被 6 整除,以及 6+3 = 9 可以被 9 整除。所以,计数为 3。
Input − arr[] = {3, 10, 4, 6, 7} Output − count is 3
解释 - 因为元素 10+4+6+7 = 27 可以被 3 整除,元素 3+4+6+7 =20 可以被 10 整除,以及 3+10+4+7 = 24 可以被 6 整除。所以,计数为 3。
下面程序中使用的方案如下
创建一个数组,例如 arr[]
使用 length() 函数计算数组的长度,该函数将根据数组中的元素返回一个整数值。
取一个临时变量来存储元素的计数。
开始循环,从 i=0 到 i 小于数组大小
在循环内部,将临时变量(例如 temp)设置为 0
在循环内部,开始另一个循环,从 j=0 到 j 小于数组大小
检查 i 是否等于 j,如果是则继续
否则,设置 temp = temp + arr[j]
现在检查 temp % arr[i] 是否等于 0,如果是则将计数的值加 1
返回计数
打印结果。
示例
#include <iostream> using namespace std; int countelements( int arr_1[], int size){ // To store the count of required numbers int result = 0; for (int i = 0; i < size; i++){ // Initialize sum to 0 int sum = 0; for (int j = 0; j < size; j++){ if (i == j){ continue; } else{ sum += arr_1[j]; } } // If sum is divisible by the chosen element if (sum % arr_1[i] == 0){ result++; } } // Return the count return result; } // main function int main(){ int arr_1[] = { 1, 2, 3, 4, 5, 6 }; int size = sizeof(arr_1) / sizeof(arr_1[0]); cout <<"count is " <<countelements(arr_1, size); return 0; }
输出
如果我们运行以上代码,我们将得到以下输出:
count is 2
广告