给我们一个整数数组。目标是在执行给定操作后找到数组中等于的最大数-
选择两个元素a [i]和a [j],使i!= j和
递增a [i]并递减a [j](a [i] ++,a [j]-)
我们将取数组的总和除以元素数。如果N是数组的大小,则
如果sum可被N整除,则相等的数字也将为N,否则相等的数字将为N-1。
Arr[]= { 1,2,3 }输出结果
最大数目等于 3
说明-第一步Arr [] = {2,2,2}递增1递减3元素之和为1 + 2 + 3 = 6,6%3 == 0,因此等于3
Arr[]= { 1,2,4 }输出结果
最大数目等于 2
说明-第一步Arr [] = {1,3,3}递增2并递减4元素的总和为1 + 2 + 4 = 7,7%3 == 1,因此相等的数字= 3-1 = 2
整数数组Arr []用于存储整数。
整数“大小”存储数组的长度。
函数maxEqual(int arr [],int n)接受一个数组,将其大小作为输入,并在应用给定操作后返回该数组中存在的最大等号数。
首先,我们将计算数组元素的总和并存储在“ sum”中
现在,按大小n(sum%n == 0)检查总和的可除性。
如果可整,则返回n
否则返回n-1作为结果。
#include <bits/stdc++.h>
using namespace std;
int maxEqual(int arr[], int n){
int sum = 0;
for (int i = 0; i < n; i++){
sum += arr[i];
}
if (sum%n==0){
return n;
}
return n-1;
}
int main(){
int Arr[] = { 1, 4, 1, 2};
//数组的大小
int size =4;
cout <<" 最大数目等于"<< maxEqual(Arr,size);
return 0;
}输出结果
Maximum count of equal numbers: 4