Cod sursa(job #1607451)

Utilizator RazBetBodolica Robert RazBet Data 21 februarie 2016 10:42:57
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>

#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");

int main()
{
    int n , c ;
    long long st , dr , m , x ;
    st=1 ;dr=1000000000 ;//[st,dr]=intervalul de cautare pentru numarul n
    f>>n ;
    while(st<=dr)
    {
            m=(st+dr)/2 ;//imaprt intervalul de cautare in doua
            x=m; c=0;
            while(m!=0)
            {
                 c=c+m/5 ;
                 m=m/5;
            }
            if(c==n)
                {
                    if(x-x%5==0) g<<"1";
                    else g<<x-x%5 ;
                    dr=-1 ;
                }
            else if(c>n) dr=(st+dr)/2-1 ;
                 else st=(st+dr)/2+1 ;
        }
    if(dr!=-1) g<< "-1";
    return 0;
}