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

Cerinţa
Scrieți definiția completă a unui subprogram C++, nz, cu un parametru întreg n, care returnează numărul zerourilor de la sfârşitul numărului n!

Restricţii şi precizări
numele subprogramului va fi nz
0
Exemplu
Dacă n=12, nz(n)=2, deoarece 12! se termină cu două cifre zero.

Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

Răspunsuri la întrebare

Răspuns de NiceShotVi
0
unsigned long long int nz(unsigned int n)
{
unsigned int z = 0, auxn;
  while(n>4)
  {
    auxn = n;
    while(auxn % 5 == 0)
    {auxn /= 5; z++}
    n--;
  }
  return z;
}

ginomarian2: ok si ce scriu mai departe in int main?
Pisicuta1307: de ce ai spus %5 in loc de %10?
Pisicuta1307: si ce legatura are n--??
ginomarian2: a mers, ruleaza cu debug ul codul si o sa vz
NiceShotVi: tu ai facut programare vreodata? (Pisicuta1307)
Pisicuta1307: da! si am inteles de unde e n--, dar ceea ce nu inteleg e faza aia cu %5, ma refer, eu am fc programul mai intai calcuand n! si apoi sa imi dea ca daca (p%10==0)
Pisicuta1307: k++
Pisicuta1307: si pe p l-am calculate inainte cu un for ca fiind p=p*I dar mie in loc sa imi calculeze ultimele le ia pe toate din nr
Pisicuta1307: si nu stiu cum sa fac ca doar ultimele sa le arate...intelegi?? si ma gndeam ca imi poti explica dc ai facut asa
Alte întrebări interesante