Advertisement
MonsterScripter

CodinGame_2023_08_25__21_40_38__count_digits_letters.cpp

Aug 25th, 2023 (edited)
1,375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <cmath>
  6.  
  7. using namespace std;
  8.  
  9. /**
  10.  * Objectif
  11.  * Étant donné une chaîne en entrée, vous devez diviser le nombre de lettres dans cette chaîne par le nombre de chiffres dans cette chaîne. Arrondissez le nombre résultant à l'entier le plus proche.
  12.  *
  13.  * Entrée
  14.  * Une chaîne en entrée, contenant uniquement des caractères ASCII.
  15.  *
  16.  * Sortie
  17.  * Un entier, représentant le quotient de la division du nombre de lettres par le nombre de chiffres dans l'entrée.
  18.  *
  19.  * Contraintes
  20.  * 2 <= longueur de l'entrée <= 256
  21.  * Il y a toujours au moins un chiffre dans l'entrée.
  22.  *
  23.  * Exemple
  24.  * Entrée
  25.  * He110 W0r1d!
  26.  * Sortie
  27.  * 1
  28.  */
  29.  
  30. int main() {
  31.     string input;
  32.     getline(cin, input);
  33.  
  34.     // Compte le nombre de lettres dans l'entrée
  35.     size_t nbLetters = std::count_if(input.begin(), input.end(),
  36.         [](char c) { return std::isalpha(c); });
  37.  
  38.     // Compte le nombre de chiffres dans l'entrée
  39.     size_t nbDigits = std::count_if(input.begin(), input.end(),
  40.         [](char c) { return std::isdigit(c); });
  41.  
  42.     // Calcule le quotient et l'afficher en arrondissant à l'entier supérieur
  43.     cout << ceil((static_cast<double>(nbLetters) / nbDigits)) << endl;
  44.  
  45.     return 0;
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement