Cod sursa(job #1803913)

Utilizator rares1012Rares Cautis rares1012 Data 12 noiembrie 2016 00:08:18
Problema Factorial Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <stdlib.h>

inline long long int put5(long long int n)
{
    long long int s=0;
    while(n>0)
    {
        n=n/5;
        s+=n;
    }
    return s;
}

int main()
{
    long long int n,i,p,k;
    FILE*fi,*fo;
    fi=fopen("fact.in","r");
    fo=fopen("fact.out","w");
    fscanf(fi,"%lld",&n);
    i<<28;
    p=0;
    while(i>0)
    {
        if(put5(p+i)<=n)
        {
            p+=i;
        }
        i/=2;
    }
    while(put5(p)>=n)
        p--;
    if(put5(p+1)==n)
        fprintf(fo,"%lld",p+1);
    else fprintf(fo,"-1");
    fclose(fi);
    fclose(fo);
    return 0;
}