Cod sursa(job #1043679)

Utilizator LizzardStanbeca Theodor-Ionut Lizzard Data 28 noiembrie 2013 21:23:45
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;

ifstream fin ("fact.in");
ofstream fout ("fact.out");

unsigned int cb(unsigned int , unsigned int , unsigned int );
int nz(unsigned int x);

int main()
{
    unsigned int n,p,x;
    fin>>p;
    n=4294967294;
    x=cb(1,n,p);
    x-=x%5;
    fout<<x;

    return 0;
}

unsigned int cb(unsigned int li, unsigned int ls, unsigned int p)
{
    unsigned int m=(li+ls)/2;
    if(nz(m)<p) return cb(m+1,ls,p);
    if(nz(m)>p) return cb(li,m-1,p);
    return m;
}

int nz(unsigned int x)
{
    int i,r;
    for(i=5,r=0;i<=x;i*=5)
        r+=x/i;
    return r;
}