Cod sursa(job #1835165)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 26 decembrie 2016 14:38:29
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>

using namespace std;

int main()
{
    FILE *fin,*fout;
    long long st,dr,mid,ct,p,fi;
    fin=fopen("fact.in","r");
    fout=fopen("fact.out","w");
    fscanf(fin,"%lld",&p);
    st=1;
    dr=1000000000;
    fi=-1;
    while(st<=dr)
    {
        mid=(st+dr)/2;
        ct=0;
        for(int i=5;i<=mid;i=i*5)
            ct+=(mid/i);
        if(p==ct)
        {
            fi=mid;
            dr=mid-1;
        }
        else
        {
            if(ct<p)
            {
                st=mid+1;
            }
            else
                dr=mid-1;
        }
    }
    fprintf(fout,"%lld",fi);
    fclose(fin);
    fclose(fout);
    return 0;
}