Pagini recente » Cod sursa (job #964653) | Cod sursa (job #1933811) | Cod sursa (job #529666) | Cod sursa (job #1364626) | Cod sursa (job #361896)
Cod sursa(job #361896)
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
unsigned long long x[13]={5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125},i;
unsigned long cautare(unsigned long a,unsigned long b,unsigned long s)
{
unsigned long d;
long max=-1;
unsigned long v;
while(a<=b)
{
d=(a+b)/2;
v=0;
for(i=0;x[i]<d;i++)
{
v+=d/x[i];
}
if(v==s)
{
max=d;
b=d-1;
}
else if(v>s)
b=d-1;
else
a=d+1;
}
return max;
}
int main ()
{
ifstream x("fact.in");
ofstream y("fact.out");
unsigned long p,a,b;
x>>p;
a=0;
b=2000000000;
y<<cautare(a,b,p);
x.close();
y.close();
return 0;
}