
给定一个数组,将最小数字(应大于 0)添加到数组中,使数组的总和变为偶数。
输入- 1 2 3 4、
输出- 2
解释 - 数组的总和为 10,所以我们
添加最小数2,使和为偶数。
方法一:计算数组所有元素的和,然后检查和是否为偶数,然后添加最小数为2 ,否则添加最小数字为 1。
输入- 1 2 3 4,
输出- 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。
输入 - 1 2 3 4 5
输出 - 1
说明- 否。数组中的 是 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,反之亦然)。
输入- 1 2 3 4 5
输出- 1
解释-变量初始化为0。
遍历数组 p>
1 为奇数,变量改变 1。
2 为偶数
3 为奇数,变量改变 0。
4 为偶数
4 p>
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;
}以上就是在C编程中,将最小的数字添加到数组中,使得数组的总和变为偶数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号