Heim  >  Artikel  >  Backend-Entwicklung  >  Fügen Sie bei der C-Programmierung die kleinste Zahl zu einem Array hinzu, sodass die Summe des Arrays eine gerade Zahl wird

Fügen Sie bei der C-Programmierung die kleinste Zahl zu einem Array hinzu, sodass die Summe des Arrays eine gerade Zahl wird

王林
王林nach vorne
2023-08-25 17:41:061055Durchsuche

Fügen Sie bei der C-Programmierung die kleinste Zahl zu einem Array hinzu, sodass die Summe des Arrays eine gerade Zahl wird

Fügen Sie bei einem gegebenen Array die kleinste Zahl (sollte größer als 0 sein) zum Array hinzu, sodass die Summe des Arrays eine gerade Zahl wird.

Eingabe- 1 2 3 4,

Ausgabe- 2

Erklärung – Die Summe des Arrays ist 10, also

addieren wir die Mindestzahl 2, um die Summe gerade zu machen.

Methode 1: Berechnen Sie die Summe aller Elemente des Arrays, prüfen Sie dann, ob die Summe eine gerade Zahl ist, und addieren Sie dann die Mindestzahl als 2, andernfalls fügen Sie die Mindestzahl als 1 hinzu.

Eingabe- 1 2 3 4,

Ausgabe- 2

Erläuterung-Die Summe des Arrays ist 10, also wir Addiere die kleinste Zahl 2, um die Summe gerade zu machen.

Beispiel

#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;
}

Methode 2 – Berechnen Sie die Anzahl der ungeraden Elemente in einem Array. Wenn die ungerade Anzahl der Vorkommen eine gerade Zahl ist, wird 2 zurückgegeben, andernfalls wird 1 zurückgegeben.

Eingabe - 1 2 3 4 5

Ausgabe - 1

Beschreibung- Nr. im Array ist 3

Fügen Sie die Mindestzahl 1 hinzu, um die Summe gerade zu machen.

Beispiel

#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;
}

Methode 3 - Nimmt eine Flag-Variable (auf 0 initialisiert). Immer wenn wir ein ungerades Element im Array finden, führen wir eine NOT(!)-Operation für die boolesche Variable durch. Dieser logische Operator invertiert den Wert einer Flag-Variablen (d. h. wenn er 0 ist, wird die Variable in 1 umgewandelt und umgekehrt).

Eingabe- 1 2 3 4 5

Ausgabe- 1

Erklärung- Die Variable wird auf 0 initialisiert.

Durchlaufen Sie das Array p>

1 ist eine ungerade Zahl und die Variable ändert sich um 1.

2 ist eine gerade Zahl und

3 ist eine ungerade Zahl, die Variable ändert sich auf 0.

4 ist eine gerade Zahl

4 p>

5 ist eine ungerade Zahl, die Variable wird 1

Wenn der Variablenwert 1 ist, bedeutet dies, dass es eine ungerade Anzahl ungerader Elemente gibt und die Mindestanzahl an Elementen Das bedeutet, dass die Summe der Elemente gerade plus 1 ist.

Ansonsten beträgt die Mindestmenge 2.

Beispiel

#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;
}

Das obige ist der detaillierte Inhalt vonFügen Sie bei der C-Programmierung die kleinste Zahl zu einem Array hinzu, sodass die Summe des Arrays eine gerade Zahl wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen