Pagini recente » Cod sursa (job #776046) | Cod sursa (job #884297) | Cod sursa (job #2837743) | Cod sursa (job #2954969) | Cod sursa (job #1208068)
#include<cstdio>
#include<stdlib.h>
#include<algorithm>
#include<fstream>
#include<iostream>
using namespace std;
int main()
{
FILE* si=fopen("fact.in","r");
ofstream so;
so.open("fact.out");
int p;
fscanf(si,"%i",&p);
if(p==0)
so<<1;
else
{
int s=0, put[10000];
put[0]=1;
int i=0;
while(s<p)
{
s=s+put[i];
put[i+1]=put[i]*5;
++i;
}
s=s-put[i-1];
int min=put[i-1],max=put[i],c,j;
while(1)
{
c=(min+max)/2;
s=0;
for(j=1; j<i; ++j)
{
s=s+c/put[j];
}
if(p>s)
min=c+1;
else if(p<s)
max=c-1;
else
break;
}
so<<(c/5)*5;
}
}