Heim > Backend-Entwicklung > C++ > Hauptteil

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

WBOY
Freigeben: 2023-09-05 08:41:04
nach vorne
1005 Leute haben es durchsucht

Ü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
Nach dem Login kopieren

Ausgabe

37
73
Nach dem Login kopieren

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

< p>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;
}
Nach dem Login kopieren

Ausgabe

Wenn Sie den obigen Code ausführen, erhalten Sie die folgenden Ergebnisse.

73
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage