Maison  >  Article  >  développement back-end  >  Utilisez C++ pour écrire un programme permettant de trouver un nombre dont la somme des chiffres est un nombre pair.

Utilisez C++ pour écrire un programme permettant de trouver un nombre dont la somme des chiffres est un nombre pair.

WBOY
WBOYavant
2023-08-28 23:49:071276parcourir

Utilisez C++ pour écrire un programme permettant de trouver un nombre dont la somme des chiffres est un nombre pair.

Un entier divisible par 2 est un nombre pair. Donc dans cet article, on nous donne un nombre n, et nous devons trouver le nième nombre dont la somme est paire. Les nombres dont la somme des cinq premiers nombres est un nombre pair sont respectivement 2, 4, 6, 8 et 11. Par exemple −

Input : n = 5
Output : 11
Explanation : First 5 numbers with even sum of digits are 2, 4, 6, 8, 11 i.e 5th
number is 11.

Input : 12
Output : 24

Méthodes de recherche de solution

Vous découvrirez maintenant deux méthodes différentes pour trouver la solution à un problème donné.

Méthode naïve

Un moyen simple de trouver le nième nombre est de parcourir les nombres en commençant par 1 et de vérifier si la somme des chiffres de chaque nombre est paire. Si c'est le cas, incrémentez le compteur de 1 jusqu'à la valeur du ; le compteur est égal à n, le dernier nième nombre sera la réponse.

Méthode efficace

Une méthode efficace consiste à vérifier d'abord les nombres de départ avec des sommes paires et à rechercher un modèle pour trouver la réponse. Les 20 premiers nombres à somme paire sont 2, 4, 6, 8, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 31, 33, 35, 37, 39 et 40. En observant ces 20 premiers nombres, nous constatons que si le chiffre de n est compris entre 0 et 4, alors le nième nombre sera 2*n, et si le nième nombre est entre 5 et 9, alors le nième nombre sera 2*. n. Le nombre sera (2*n+1).

Exemple

#include <bits/stdc++.h>
using namespace std;
int main () {
   long long int n = 13;
   long long int result;
   // finding the last digit of n
   int last_digit = n % 10;
   // checking if last digit is between 0 and 4
   if (last_digit >= 0 && last_digit <= 4)
      result = 2 * n;
      // checking if last digit is between 5 and 9
   else
      result = (2 * n) + 1;
   cout << "nth Number with even sum of digits: " << result;
   return 0;
}

Sortie

nth Number with even sum of digits: 26

Explication du code ci-dessus

  • Trouvez le dernier chiffre et vérifiez s'il est compris entre 0 et 4. Si c'est le cas, stockez 2*n comme réponse dans la variable de résultat ;
  • Sinon, vérifiez si le dernier chiffre est compris entre 5 et 9 ; si c'est le cas, stockez 2*n + 1 comme réponse dans la variable résultat.
  • Imprimez le nième nombre avec un nombre pair de chiffres et la somme stockée dans la variable de résultat.

Conclusion

Dans cet article, nous avons discuté du problème de trouver le nième nombre avec un nombre pair de chiffres et nous pouvons résoudre ce problème de deux manières qui sont présentées dans cet article. Nous avons également écrit un code C++ pour résoudre le même problème. Nous pouvons écrire ce code dans d'autres langages comme C, Java, Python, etc. J'espère que cet article vous sera utile.

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