Pagini recente » Cod sursa (job #1300137) | Cod sursa (job #3265896) | Cod sursa (job #2161767) | Cod sursa (job #2802877) | Cod sursa (job #361632)
Cod sursa(job #361632)
#include<iostream>
#include<fstream>
#include<vector>
#include<math.h>
using namespace std;
unsigned long long resolve(unsigned long long c)
{
unsigned int kmax=static_cast<int>(log10(c)/log10(5)),k;
unsigned long z=0;
for(k=1;k<=kmax;k++)
z+=static_cast<int>(c/pow(5,k));
return z;
}
unsigned long long cautare(unsigned long long a,unsigned long long b,unsigned long s)
{
unsigned long long d;
unsigned long v;
while(a<=b)
{
d=(a+b)/2;
v=resolve(d);
if(v==s)
return d;
else if(d>s)
b=d-1;
else
a=d+1;
}
return -1;
}
int main ()
{
ifstream x("d:\\gt.txt");
ofstream y("d:\\gtout.txt");
unsigned long long p,n,a,b,ok=0;
x>>p;
a=0;
b=400000000;
y<<cautare(a,b,p);
x.close();
y.close();
return 0;
}