Pagini recente » Monitorul de evaluare | Cod sursa (job #1967114) | Cod sursa (job #661524) | Diferente pentru problema/teams2 intre reviziile 7 si 6 | Cod sursa (job #2261731)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int P;
int fact(int N)
{
int nullak=0;
while(N != 0)
{
nullak += N/5;
N /= 5;
}
return nullak;
}
int binker(int a, int b, int x)
{
if(a==b)return a;
int p=(a+b)/2;
if(fact(p) < P) return binker(p+1,b,x);
else return binker(a,p,x);
}
int main()
{
int a=5;
ifstream in("fact.in");
ofstream out("fact.out");
in>>P;
if(P==a or (P-5)/6==a) out<<-1;
else out<<binker(1, 1000000000, P);
return 0;
}