Maison > développement back-end > C++ > 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
Libérer: 2023-08-28 23:49:07
avant
1346 Les gens l'ont consulté

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
Copier après la connexion

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;
}
Copier après la connexion

Sortie

nth Number with even sum of digits: 26
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal