Cod sursa(job #2337994)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 6 februarie 2019 21:16:01
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 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 -- ;
        if ( !to )  return 1 ;
        if ( zeroes ( to ) != p )
        return -1 ;
        else
        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 <<  divide ( 1 , ( 1 << 30 ) ) , 1  ;
    return 0 ;
}