Cod sursa(job #249317)

Utilizator indestructiblecont de teste indestructible Data 28 ianuarie 2009 00:17:34
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
int fact(int p)   
{   
    int s=0,i;   
    for (i=5; i<=p; i*=5)   
        s+=p/i;
    return s;   
}   
int calcul(int k)   
{   
    int st=1,dr=5*k,m;   
    while (st!=dr)   
    {   
        m=(st+dr)/2;   
        if (fact(m)==k)   
            return m/5*5;   
        else  
            if (fact(m)<k)   
                st=m+1;   
            else  
                dr=m;   
    }   
    return st;   
}   

int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	int k;
	scanf("%d",&k);
	if (k==0)
		printf("1");
	else
		printf("%d",calcul(k));
	return 0;
}