Pagini recente » Istoria paginii utilizator/maryus96 | Statistici Cotisel Radu Bogdan (Radu1998) | Diferente pentru preoni-2007/runda-1/solutii intre reviziile 33 si 26 | Monitorul de evaluare | Cod sursa (job #2006720)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>
typedef unsigned int uint;
uint get_fzeros(uint n);
int main(void)
{
FILE *in = fopen("fact.in", "r");
FILE *out = fopen("fact.out", "w");
if(in != NULL && out != NULL)
{
uint n;
fscanf(in, "%u%*c", &n);
uint i = 1;
while(1)
{
// printf("%u %u\n", i, get_fzeros(i));
if(get_fzeros(i) == n)
{
fprintf(out, "%u\n", i);
break;
}
else
{
i++;
}
}
fclose(in);
fclose(out);
}
else
{
printf("Error\n");
}
return 0;
}
uint get_fzeros(uint n)
{
uint count = 0;
uint p = 1;
while(1)
{
if((n / pow(5, p)) == 0)
{
break;
}
else
{
count += n / pow(5, p++);
}
}
return count;
}