首頁  >  文章  >  後端開發  >  在C編程中,將最小的數字加到數組中,使得數組的總和變成偶數

在C編程中,將最小的數字加到數組中,使得數組的總和變成偶數

王林
王林轉載
2023-08-25 17:41:061097瀏覽

在C編程中,將最小的數字加到數組中,使得數組的總和變成偶數

給定一個數組,將最小數字(應大於 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除