Cod sursa(job #1045317)

Utilizator DGVanceaDragos Gabriel Vancea DGVancea Data 1 decembrie 2013 13:11:01
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>

using namespace std;
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");

int nrz(int m)
{
    int sum=0;
    for(int i=5; i<=m; i*=5)
        sum+=m/i;
    return sum;
}


int c(int s,int d,int p)
{
    if(s==d)
    return -1;
    else
    {int m=(s+d)/2,t=nrz(m);
    if(t<p)return c(m+1,d,p);
    if(t>p)return c(s,m-1,p);

    return m;}
}

int main()
{
    int p;
    fscanf(f,"%d",&p);
    if(p==0)
        fprintf(g,"1");
    else
    {
        int n=999999999;
        int x=c(0,n,p);
        if(x==-1)
            fprintf(g,"%d",x);
        else
        {
            x-=x%5;
            fprintf(g,"%d",x);
        }

    }
    return 0;
}