Cod sursa(job #1725987)
Utilizator | Data | 6 iulie 2016 21:59:58 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <cstdio>
using namespace std;
inline int nz( int n )
{
int k=0;
while( n>=5 )
k+=(n/5), n/=5;
return k;
}
int main()
{
//freopen( "fact.in", "r", stdin );
//freopen( "fact.out", "w", stdout );
int p, k=0, i;
scanf( "%d", &p );
for( i=(1<<30);i>=1;i/=2 )
if( nz(k+i)<p )
k+=i;
if( nz(k+1)!=p )
k=-2;
printf( "%d", k+1 );
return 0;
}