Cod sursa(job #1043690)

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

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

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

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

    return 0;
}

int cb(int li,int ls,int p)
{
    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(int x)
{
    int i,r;
    for(i=5,r=0;i<=x;i*=5)
        r+=x/i;
    return r;
}