Cod sursa(job #2222386)

Utilizator Asgari_ArminArmin Asgari Asgari_Armin Data 16 iulie 2018 22:28:30
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <cstdio>
#include <iostream>

using namespace std;

int thl ( int a ) {
    int c = 5 , s = 0;
    while ( a / c > 0 ) {
        s = s + a / c;
        c *= 5;
    }
    return s;
}

void caut_bin ( int p ) {
    int  med , le , ri , ans = -1;
    le = 0;
    ri = 5 * p;
    while ( le <= ri ) {
        med = ( le + ri ) / 2;
        if ( thl ( med ) > p )
            ri --;
        else if ( thl ( med ) < p )
            le ++;
        else {
            ans = med;
            break;
        }
    }
    cout << ans;
}

int main() {
    freopen ( "fact.in" , "r" , stdin );
    freopen ( "fact.out" ,"w" , stdout );
    int p;
    scanf ( "%d" , &p );
    if (  p == 0 )
      cout << "1";
    else
      caut_bin ( p );
    return 0;
}