Pagini recente » Cod sursa (job #2311840) | Cod sursa (job #1587785) | Cod sursa (job #866064) | Profil tudorbuhnia | Cod sursa (job #754443)
Cod sursa(job #754443)
//Se da un numar intreg P. Sa se gaseasca cel mai mic numar natural strict pozitiv N pentru care N! are exact P cifre de 0 la sfarsit.
#include <cstdio>
#include <stdlib.h>
int binary(int a, int b, int n)
{
int c = (a+b)/2;
int sum = 0;
int aux = c;
while (aux > 0)
{
aux /= 5;
sum += aux;
}
if (sum < n)
return binary((c+1),b,n);
if (sum > n)
return binary(a,c,n);
//cauta minimul
while (sum == n)
{
c--;
aux = c;
sum = 0;
while (aux > 0)
{
aux /= 5;
sum += aux;
}
}
return c+1;
}
int main()
{
FILE *f = fopen("fact.in","r");
FILE *g = fopen("fact.out","w");
int n;
fscanf(f,"%d",&n);
//cautare binara a=1 b=10000
if (n==0)
fprintf(g,"1");
else
fprintf(g,"%d",binary(1,1000,n));
/*int sum = 0;
int x = 0;
while (sum < n)
{
x += 5;
int plm = x;
int div = 0;
while (plm % 5 == 0)
{
div ++;
plm /= 5;
}
sum+= div;
}
if (x==0) x = 1;
fprintf(g,"%ld",x);*/
}