Cod sursa(job #291597)

Utilizator vlasceanuVlasceanu Razvan vlasceanu Data 30 martie 2009 02:18:28
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdlib>
#include <iostream>
#include <limits>
using namespace std;
unsigned long int cp[] = {0,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625};
int ex[] = {0,0,1,3,6,10,15,21,28,36,45,55,66,78};




unsigned long int Ev(unsigned long int p)
{
 if (p==0) return 1;
 unsigned long int aux=5;    
 unsigned long int rez = p*5;
 for(int i=0;i<=13;i++) 
 if (cp[i]>=rez)
 {
  rez-=5*ex[i-2];
  return rez;              
 }
 return rez;
}


int main(int argc, char *argv[])
{
    
    long unsigned int pp;
    freopen("fact.in","r",stdin);
    cin >> pp;   
    fclose(stdin);
    freopen("fact.out","w",stdout);
    unsigned long int i1,i2;
    i1=Ev(pp);
    i2=Ev(pp+1);
    if(i1==i2) cout << -1;
    else cout<<i1;
    fclose(stdout);
    return EXIT_SUCCESS;
}