向数组中添加最小数字,以便在C编程中总和变得均匀
给定一个数组,将最小数(应大于0)添加到数组中,以使数组的总和变为偶数。
输入 -1234,
输出 -2
说明-数组的总和为10,所以我们
加上最小数2以使总和为偶数。
方法1:计算数组中所有元素的总和,然后检查总和是否为偶数,然后将最小值加为2,否则将最小值加为1。
输入 -1234,
输出 -2
说明 - 数组的总和为10,因此我们加上最小值2以使总和均匀。
示例
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4}; int n=4; int sum=0; for (int i = 0; i <n; i++) { sum+=arr[i]; } if (sum % 2==0) { cout <<"2"; } else { cout <<"1"; } return 0; }
方法2-计算数组中元素的奇数计数。如果出现的奇数计数为偶数,则返回2,否则返回1。
输入 -12345
输出 -1
说明 -否。数组中的of是3
加最小值1以使总和均匀。
示例
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4,5}; int n=5; int odd = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2!=0) { odd += 1; } } if (odd % 2==0) { cout <<"2"; } else { cout <<"1"; } return 0; }
方法3-取得 一个标志变量(初始化为0)。每当我们在数组中找到奇数元素时,我们都会对布尔变量执行NOT(!)操作。该逻辑运算符将标志变量的值取反(意味着如果它为0,则将变量转换为1,反之亦然)。
输入 -12345
输出 -1
说明 -变量初始化为0。
遍历数组
1为奇数,变量更改为1。2
为偶数
3为奇数,变量更改为0。4
为偶数
5为奇数,变量更改为1
如果变量值为1,则表示存在奇数个奇数元素,使元素之和成为偶数的最小数量是加1。
其他最小数字为2。
示例
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4,5}; int n=5; bool odd = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2!=0) { odd = !odd; } } if (odd) { cout <<"1"; } else { cout <<"2"; } return 0; }