Eine ganze Zahl, die gleichmäßig durch 2 teilbar ist, ist eine gerade Zahl. In diesem Artikel erhalten wir also eine Zahl n und müssen die n-te Zahl finden, deren Summe gerade ist. Die Zahlen, deren Summe der ersten fünf Zahlen eine gerade Zahl ist, sind 2, 4, 6, 8 und 11. Zum Beispiel −
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
Jetzt lernen Sie zwei verschiedene Methoden kennen, um die Lösung für ein bestimmtes Problem zu finden.
Eine einfache Möglichkeit, die n-te Zahl zu finden, besteht darin, die Zahlen beginnend bei 1 zu durchlaufen und zu prüfen, ob die Summe der Ziffern für jede Zahl gerade ist. Wenn ja, erhöhen Sie den Zähler um 1, bis der Wert erreicht ist Zähler ist gleich n. Die letzte n-te Zahl ist die Antwort.
Eine effiziente Methode besteht darin, zunächst die Startzahlen mit geraden Summen zu überprüfen und nach einem Muster zu suchen, um die Antwort zu finden. Die ersten 20 Zahlen mit geraden Summen sind 2, 4, 6, 8, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 31, 33, 35, 37, 39 und 40. Wenn wir diese ersten 20 Zahlen betrachten, stellen wir fest, dass, wenn die einzelne Ziffer von n zwischen 0 und 4 liegt, die n-te Zahl 2*n ist, und wenn die n-te Zahl zwischen 5 und 9 liegt, dann ist die n-te Zahl 2* n. Die Zahl ist (2*n+1).
#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; }
nth Number with even sum of digits: 26
In diesem Artikel haben wir das Problem besprochen, die n-te Zahl mit einer geraden Anzahl von Ziffern zu finden, und wir können dieses Problem auf zwei Arten lösen, die in diesem Artikel vorgestellt werden. Wir haben auch einen C++-Code geschrieben, um das gleiche Problem zu lösen. Wir können diesen Code in anderen Sprachen wie C, Java, Python usw. schreiben. Ich hoffe, Sie finden diesen Artikel hilfreich.
Das obige ist der detaillierte Inhalt vonVerwenden Sie C++, um ein Programm zu schreiben, das eine Zahl findet, deren Ziffernsumme eine gerade Zahl ist.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!