Informatică, întrebare adresată de razvanrazvan21p4et9k, 9 ani în urmă

Cerinţa
Se citește un număr natural n. Să se determine numărul de zerouri de la sfârșitul scrierii zecimale a numărului n!.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul afișează pe ecran numărul Z, reprezentând numărul de zerouri de la sfârșitul scrierii zecimale a numărului n!.
Restricţii şi precizări
1 ≤ n ≤ 1000
n! = 1 * 2 * ... * n

Răspunsuri la întrebare

Răspuns de uleiaalex
4
Am rezolvat problema, sper ca te-am ajutat.

#include <iostream>
using namespace std;
int main()
 {
 cin>>n; (nu uita limita 1 <= n <= 1000)
 int zero_uri = 0;
 for (int i = 5; i <= n; i += 5)
 {
    int term = i;
    while ((term % 5) == 0)
     {
        zero_uri += 1;
        term /= 5;
     }
 }

 cout<<n<<"! are la final "<< zero_uri <<" zero-uri.";
 return 0;
}
Răspuns de rossetta
8
Numarul de zerouri este dat de numarul de perechi 2 * 5 care se pot forma.
Numarul de 2 este mai mare decat numarul de 5 =>  numarul de zerouri este dat exponentul puterii lui 5.

#include <iostream>
using namespace std;

int main() {
    int n, nr = 0, f = 5;
    cin >> n;
    while( f  <= n) {
      int ff = f;
      while( ff % 5 == 0) {
        ff /= 5;
        nr++;
      }
      f = f + 5;
    }
    cout << nr;
    return 0;
}

Alte întrebări interesante