Informatică, întrebare adresată de annamarria183, 8 ani în urmă

In C++
Se citeşte un număr natural n care reprezintă numărul de valori naturale ce vor fi citite ulterior. Să se determine cu câte zerouri se sfârşeşte produsul celor n numere, fără a efectua produsul respectiv.


boiustef: cele n naturale citite ulterior sunt nenule?
boiustef: problema e de pe pbinfo?

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   long long n, i, exp2=0, exp5=0, num, nrz;

   cin >> n;

   for (i=1; i<=n; ++i)

   {

       cin >> num;

       while (num%2==0)

       {

           ++exp2;

           num/=2;

       }

       while (num%5==0)

       {

           ++exp5;

           num/=5;

       }

   }

   nrz=min(exp2,exp5);

   cout << nrz;

   return 0;

}

Explicație:

zerourile apar de la inmultirea lui 2 la 5, deaceea aflam exponentii lui 2 si 5 de la descompunerea in factori primi a tuturor numerelor citite. Minimul dintre acesti exponenti si va genera numarul de zerouri de la sfarsitul produsului.

Alte întrebări interesante