Cod sursa(job #687371)

Utilizator mlupseLupse-Turpan Mircea mlupse Data 22 februarie 2012 12:50:55
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
using namespace std;
#define MAX 100000
int v[MAX];
int zeros(int m)
{
    int s=0,k=5;
    while(m/k)
    {
        s=s+m/k;
        k=k*5;
    }
    return s;
}
int main()
{
    int p,left,right,m,zero;
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d",&p);
    left=1;
    right=p*5;
    while(left<=right)
    {
        m=(left+right)/2;
        zero=zeros(m);
        if(zero==p)
        {
            printf("%d",m);
            return 0;
        }
        else
            if(zero<p)
                left=m+1;
            else
                right=m-1;
    }
    return 0;
}