Heim >Backend-Entwicklung >C++ >Übersetzen Sie in C++ die n-te Zahl so, dass die Summe der Zahlen zehn ist

Übersetzen Sie in C++ die n-te Zahl so, dass die Summe der Zahlen zehn ist

WBOY
WBOYnach vorne
2023-09-05 08:41:041012Durchsuche

Übersetzen Sie in C++ die n-te Zahl so, dass die Summe der Zahlen zehn ist

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

Algorithmus

  • Zahl initialisieren n
  • Zähler auf 0 initialisieren.
  • Schreiben Sie eine Schleife beginnend bei 19
    • Wenn die aktuelle Zahlensumme 10 ist, erhöhen Sie den Zähler um 1.
    • Wenn der Zähler gleich n ist, wird die aktuelle Zahl zurückgegeben.
    • Erhöhen Sie die Iterationsvariable um 9.

Implementierung

Das Folgende ist die C++-Implementierung des obigen Algorithmus
#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;
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen