Pagini recente » Cod sursa (job #2324106) | Cod sursa (job #572747) | Cod sursa (job #870660) | Cod sursa (job #267020) | Cod sursa (job #2080859)
#include <bits/stdc++.h>
using namespace std;
#define MAXN 400000020
inline int nr_cf0(int nr) {
int a=5, exp=0;
while(a<=nr) {
exp+=nr/a;
a*=5;
}
return exp;
}
int c_b(int p) {
int poz, pas;
poz=0;
for(pas=MAXN/2; pas>=1; pas/=2)
while(poz+pas<MAXN && nr_cf0(poz+pas)<=p)
poz+=pas;
if(nr_cf0(poz)!=p)
poz=-1;
else {
while(nr_cf0(poz)==p && poz>0)
poz--;
poz++;
}
return poz;
}
int main()
{
int p;
FILE *fi, *fo;
fi = fopen("fact.in", "r");
fo = fopen("fact.out", "w");
fscanf(fi, "%d", &p);
fprintf(fo, "%d", c_b(p));
fclose(fi);
fclose(fo);
return 0;
}