Cod sursa(job #1886281)

Utilizator Matei_2001Matei Popa Matei_2001 Data 20 februarie 2017 19:59:15
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");

int numara_zerouri(int n);  // numara zerourile de la sfarsitul numarului factorial(n)

int main(void)
{
  int p, n = 1, zerouri = 0;
  
  f >> p;
    
  for (n = 1;; n++)
  {
    zerouri = numara_zerouri(n);	
	
	if (zerouri == p)
      break;
    else if (zerouri > p)
	{
      n = -1;
      break;	  
    } 
  } 	  

  g << n;
  
  return 0;
}


int numara_zerouri(int n)
{
  int i, zerouri = 0, cati_de_5 = 0, i_copie;                                                   
  
  for (i = 5; i <= n; i += 5)
  {
	i_copie = i;  
	while (!(i_copie % 5))
	{
      ++cati_de_5;
      i_copie /= 5;
	} 	  
  }		

  zerouri = cati_de_5;
  
  return zerouri;  
}