Heim >Backend-Entwicklung >C++ >Eine in C++ geschriebene Anzahl von N Ziffern, die aus M Zahlen besteht und durch 5 teilbar ist
Wir erhalten eine Zahl N und eine Reihe von M Ziffern. Unsere Aufgabe ist es, n Zahlen zu finden Eine durch 5 teilbare Zahl, die aus den angegebenen M Ziffern besteht.
Sehen wir uns einige Beispiele an, um den Input und Output des Problems zu verstehen.
In -
N = 2 M = 3 arr = {5, 6, 3}
Out -
2
Es gibt 2 N-Zahlen 35 und 65, die gleichmäßig durch 5 teilbar sein können. Schauen wir uns ein anderes Beispiel an.
Eingabe -
N = 1 M = 7 arr = {2, 3, 4, 5, 6, 7, 8}
Ausgabe -
1
Nur 1 einstellige Zahl im angegebenen Array ist durch 5 teilbar. Daher besteht unsere Aufgabe darin, die Anzahl der Zahlen zu ermitteln, die bei gegebenen N Zahlen durch 5 teilbar sind.
Zahlen müssen mit der Ziffer 0 oder 5 enden, um durch 5 teilbar zu sein. Sehen wir uns den Algorithmus
Das Folgende ist die C++-Implementierung des obigen Algorithmus
#include <bits/stdc++.h> using namespace std; int numbers(int n, int m, int arr[]) { bool isZeroPresent = false, isFivePresent = false; int numbersCount = 0; if (m < n) { return -1; } for (int i = 0; i < m; i++) { if (arr[i] == 0) { isZeroPresent = true; } if (arr[i] == 5) { isFivePresent = true; } } if (isZeroPresent && isFivePresent) { numbersCount = 2; for (int i = 0; i < n - 1; i++) { m--; numbersCount = numbersCount * m; } } else if (isZeroPresent || isFivePresent) { numbersCount = 1; for (int i = 0; i < n - 1; i++) { m--; numbersCount = numbersCount * m; } } else { return -1; } return numbersCount; } int main() { int arr[] = {5, 6, 3}; cout << numbers(2, 3, arr) << endl; return 0; }
Wenn Sie den obigen Code ausführen, erhalten Sie die folgenden Ergebnisse.
2
Das obige ist der detaillierte Inhalt vonEine in C++ geschriebene Anzahl von N Ziffern, die aus M Zahlen besteht und durch 5 teilbar ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!