Maison > Article > développement back-end > En C++, traduisez le nième nombre de telle sorte que la somme des nombres soit dix
Les nombres dont la somme est égale à 10 sont
19, 28, 37, 46, 55, 64, 73, 82, 91, etc.
Si vous observez cette séquence, chaque nombre ajoute 9. Dans la séquence ci-dessus, lors du processus d’addition de 9, il existe des nombres dont la somme des chiffres n’est pas égale à 10. Cependant, vous obtiendrez la somme de tous les nombres égale à 10.
Nous pouvons donc avoir une boucle qui incrémente de 9 et vérifie la somme des nombres et trouve le nième nombre. Voyons quelques exemples
Input
3 7
Output
37 73
#include <bits/stdc++.h> using namespace std; int findNthNumber(int n) { int count = 0, i = 19; while (true) { int sum = 0; for (int number = i; number > 0; number = number / 10) { sum = sum + number % 10; } if (sum == 10) { count++; } if (count == n) { return i; } i += 9; } return -1; } int main() { int n = 7; cout << findNthNumber(7) << endl; return 0; }
Si vous exécutez le code ci-dessus, vous obtiendrez les résultats suivants.
73
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!