Cod sursa(job #1941872)

Utilizator lazaralex2002Lazar Alex Constantin lazaralex2002 Data 27 martie 2017 17:17:47
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>

using namespace std;
int zerouri(int n)
{
    int p = 1 , s = 0 ;
    while ( p * 5 <= n )
    {
        p *= 5 ;
        s = s + n / p ;
    }
    return s ;
}
int main()
{
    int n , s = 0 , g = 1 , mij , p ;
    cin >> p ;
    int st = 1 , dr = 1<<27  ;
    bool ok = false ;
    while ( st <= dr && ok == false )
    {
        mij = ( st + dr ) / 2 ;
        g = zerouri(mij) ;
        if ( p < g  )
        {
            dr = mij - 1 ;
        }
        else
        if ( p > g )
        {
            st = mij + 1 ;
        }
        else ok = true ;
    }
    if ( p == zerouri(mij) ) cout << mij - ( mij % 5 ) ;
    else cout << - 1 ;
    return 0;
}