Cod sursa(job #2337987)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 6 februarie 2019 21:11:38
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std ;
ifstream in ("fact.in") ;
ofstream out ("fact.out") ;
int p ;
int zeroes ( int n )
{
    if ( n < 5 )    return 0 ;
    return n / 5 + zeroes( n / 5 ) ;
}
int divide ( int from , int to  )
{
    if ( from == to )
    {
        while ( to % 5 )    to -- ;
        return to ;
    }
    int mid = ( to + from ) >> 1 ;
    int test = zeroes( mid ) ;
    if ( test >= p )    return divide ( from , mid )   ;
    else                return divide ( mid + 1 , to  ) ;
}
int main ()
{
    in >> p ;
    out << max ( divide ( 1 , ( 1 << 30 ) ) , 1 ) ;
    return 0 ;
}