Heim > Backend-Entwicklung > C++ > Hauptteil

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

王林
Freigeben: 2023-08-25 17:41:06
nach vorne
1112 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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 < /strong>- 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;
}
Nach dem Login kopieren

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

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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage