Pagini recente » Cod sursa (job #1104727) | Cod sursa (job #1373087) | Cod sursa (job #1435300) | Cod sursa (job #40360) | Cod sursa (job #606532)
Cod sursa(job #606532)
#include <iostream>
#include <fstream>
using namespace std;
unsigned long n,p;
unsigned long numar_zerouri (unsigned long x)
{
unsigned long zero=0;
while (x/5>0)
{
zero+=x/5;
x/=5;
}
return zero;
}
long cautare (unsigned long left, unsigned long right)
{
if (right==left) return right;
else
{
unsigned long mijloc=(left+right)/2, zerouri=numar_zerouri(mijloc);
// printf("%d<>%d %d: %d=?%d\n", left,right,mijloc, zerouri, p);
if (zerouri>=p) cautare (left, mijloc-1);
else if (zerouri<=p) cautare (mijloc+1, right);
}
}
int main()
{
freopen("factorial.in", "r", stdin);
freopen("factorial.out", "w", stdout);
scanf("%d", &p);
printf("%d", cautare(1, 80000));
return 0;
}