👤

Pentru n număr natural nenul cu cel mult 5 cifre se cere să se determine în câte cifre de 0 se termină produsul 1·2·...·n. Exemplu: pentru n=16 se va afişa 3

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n,z=0,c=5;

   cin >> n;

   while (c<=n)

   {

       z=z+n/c;

       c=c*5;

   }

   cout << z;

   return 0;

}

Explicație:

se numără câţi de 5 se conţin în descompunerile în factori primi a tuturor numerelor de la 1 la n, deoarece zerourile apar de la produsul 5*2.

factorii 2 nu-i numărăm, deoarece ei sunt cu mult mai mulţi ca 5....

de exemplu pentru n=126 se va calcula z=126/5 + 126/25 + 126/125, deoarece la 25 mai apare un 5 şi la 125 încă 2 de 5.