Cod sursa(job #2813)

Utilizator Sorin_IonutBYSorynyos Sorin_Ionut Data 19 decembrie 2006 08:43:32
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream.h>
#include <iostream.h>
#include <stdlib.h>

long rep(long n,long f,long p);

long nr;
unsigned long a,b,i,j,aux,auxi;

int main()
{
 ifstream fin("fact.in");
 fin>>nr;
 fin.close();

 ofstream fout("fact.out");
 if(nr==0)
  fout<<'1';
 else    //nrz (nr de 0-uri)=n div 5+(n div 5 div 5)+......pana cand iti ajunge un termen la 0.
 {
  for(i=5;i<=4000000000;i=i+5)
  {
   a=i;
   aux=rep(i,5,0);
   b=aux+auxi;
   auxi=auxi+aux;
    if(b>=nr)
    {
     fout<<a;
     fout.close();
     return 0;
    }         
  }                                   
 }
 fout<<"-1";
 fout.close();
 return 0;
}

long rep(long n,long f,long p)
{
 while(n>1)
 {
  if(n%f==0)
  {
   p=p+1; 
   n=n/f;
  }
  else
   break;
 }       
 return p;  
}