Cod sursa(job #324987)

Utilizator cristikIvan Cristian cristik Data 18 iunie 2009 14:04:10
Problema Factorial Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <math.h>
unsigned long n,p,x;
unsigned long log5(unsigned long n)
{
    return floor(log10(n)/log10(5));
}
unsigned long pw(unsigned long k)
{
    unsigned long x=5,v=1;
    for(; k; k>>=1,x*=x)
     if(k%2!=0) v*=x;
    return v;
}
unsigned long nr(unsigned long n)
{
    unsigned long s=0,i,l=log5(n);
    for(i=1; i<=l; i++)
     s+=floor(n/pw(i));
    return s;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%lu",&p);
    for(int i=1; i<=10000000000; i++)
    {
        if(nr(i)==p) { printf("%d",i); return 0;}
    }
}