给我们一个整数数组。目标是在执行给定操作后找到数组中等于的最大数-
选择两个元素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