Maison  >  Article  >  développement back-end  >  En programmation C, ajoutez le plus petit nombre à un tableau de telle sorte que la somme du tableau devienne un nombre pair

En programmation C, ajoutez le plus petit nombre à un tableau de telle sorte que la somme du tableau devienne un nombre pair

王林
王林avant
2023-08-25 17:41:061098parcourir

En programmation C, ajoutez le plus petit nombre à un tableau de telle sorte que la somme du tableau devienne un nombre pair

Étant donné un tableau, ajoutez le plus petit nombre (doit être supérieur à 0) au tableau afin que la somme du tableau devienne un nombre pair.

Entrée- 1 2 3 4,

Sortie- 2

Explication - La somme du tableau est 10, donc nous

ajoutons le nombre minimum 2 pour rendre la somme paire.

Méthode 1 : Calculez la somme de tous les éléments du tableau, puis vérifiez si la somme est un nombre pair, puis ajoutez le nombre minimum à 2, sinon ajoutez le nombre minimum à 1.

Entrée- 1 2 3 4,

Sortie- 2

Explication-La somme du tableau est de 10, donc nous Ajoutez le plus petit chiffre 2 pour rendre la somme égale.

Exemple

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

Méthode 2 - Calculez le nombre d'éléments impairs dans un tableau. Si le nombre impair d’occurrences est un nombre pair, renvoyez 2, sinon renvoyez 1.

Entrée - 1 2 3 4 5

Sortie - 1

Explication- Non. dans le tableau est 3

Ajoutez le nombre minimum 1 pour rendre la somme paire.

Exemple

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

Méthode 3 - Prend une variable flag (initialisée à 0). Chaque fois que nous trouvons un élément impair dans le tableau, nous effectuons une opération NOT(!) sur la variable booléenne. Cet opérateur logique inverse la valeur d'une variable indicateur (c'est-à-dire si elle est 0, convertissez la variable en 1 et vice versa).

Entrée- 1 2 3 4 5

Sortie- 1

Explication- La variable est initialisée à 0.

Parcourez le tableau p>

1 est un nombre impair et la variable change de 1.

2 est un nombre pair et

3 est un nombre impair, la variable passe à 0.

4 est un nombre pair

4 p>

5 est un nombre impair, la variable devient 1

Si la valeur de la variable est 1, cela signifie qu'il y a un nombre impair d'éléments impairs, et le nombre minimum d'éléments cela rend la somme des éléments égale à plus 1.

Sinon la quantité minimum est de 2.

Exemple

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer