Die Zahlen, deren Summe 10 ist, sind
19, 28, 37, 46, 55, 64, 73, 82, 91 usw.
Wenn Sie diese Reihenfolge beachten, addiert jede Zahl 9. In der obigen Sequenz gibt es während des Additionsprozesses von 9 einige Zahlen, deren Ziffernsumme nicht 10 ist. Sie erhalten jedoch die Summe aller Zahlen gleich 10.
Wir können also eine Schleife haben, die um 9 erhöht, die Summe der Zahlen prüft und die n-te Zahl findet. Sehen wir uns einige Beispiele an:
Eingabe
3 7
Ausgabe
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; }
Wenn Sie den obigen Code ausführen, erhalten Sie die folgenden Ergebnisse.
73
Das obige ist der detaillierte Inhalt vonÜbersetzen Sie in C++ die n-te Zahl so, dass die Summe der Zahlen zehn ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!