Maison >développement back-end >C++ >Un nombre de N chiffres composé de M nombres divisible par 5 écrit en C++
On nous donne un nombre N et un tableau de M chiffres. Notre travail consiste à trouver n nombres Un nombre divisible par 5 composé des M chiffres donnés.
Voyons quelques exemples pour comprendre l'entrée et la sortie du problème.
In -
N = 2 M = 3 arr = {5, 6, 3}
Out -
2
Il y a 2 N nombres 35 et 65 qui peuvent être divisibles également par 5. Regardons un autre exemple.
Entrée -
N = 1 M = 7 arr = {2, 3, 4, 5, 6, 7, 8}
Sortie -
1
Seul 1 nombre à 1 chiffre dans le tableau donné est divisible par 5. Par conséquent, notre tâche est de trouver le nombre de nombres divisibles par 5 donnés N nombres.
Les nombres doivent se terminer par le chiffre 0 ou 5 pour être divisible par 5. Voyons l'algorithme
Ce qui suit est l'implémentation C++ de l'algorithme ci-dessus
#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; }
Si vous exécutez le code ci-dessus, vous obtiendrez les résultats suivants.
2
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!