Cod sursa(job #3141299)
Utilizator | Mocan Radu radu1331 | Data | 13 iulie 2023 14:43:24 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
ll nr_cinci ( ll n )
{
ll num = 0 ;
while ( n )
{
num += n / 5 ;
n /= 5 ;
}
return num ;
}
const ll MAX = 1e17 ;
int main ( )
{
freopen ( "fact.in" , "r" , stdin ) ;
freopen ( "fact.out" , "w" , stdout ) ;
ll p ; cin >> p ;
ll st = 1 , dr = MAX ;
while ( st < dr )
{
ll mij = ( dr + st ) / 2 ;
if ( nr_cinci ( mij ) < p ) st = mij + 1 ;
else dr = mij ;
}
if ( nr_cinci ( st ) == p ) cout << st ;
else cout << -1 ;
return 0 ;
}