Cod sursa(job #731349)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 7 aprilie 2012 22:05:11
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdio>
using namespace std;
int f(int n)
{
    int ok=0;
    for(;n!=0;)
    {
        ok+=n/5;
        n/=5;
    }
    return ok;
}
int check(int a,int b,int p)
{
    if(a>b) return -1;
    int c=(a+b)/2;
    int q=f(c);
    //printf("%d %d %d\n",q,p,q>p);
    if(q==p) return c;
    if(q>p) return check(a,c-1,p);
    else return check(c+1,b,p);
}
int main()
{
    int p,n;
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d",&p);
    n=check(0,1<<31-1,p);
    printf("%d",n);
    return 0;
}