Pagini recente » Cod sursa (job #1632422) | Cod sursa (job #3236624) | Cod sursa (job #2777559) | Cod sursa (job #137373) | Cod sursa (job #1200900)
#include <stdio.h>
#define ERR 1
#define SUC 0
#define F_IN "fact.in"
#define F_OUT "fact.out"
void funct(int *nr2, int *nr5, int p)
{
while(p%2 == 0)
{
(*nr2)++;
p /= 2;
}
while(p%5 == 0)
{
(*nr5)++;
p /= 5;
}
}
int min(int a, int b)
{
if(a<b)
return a;
return b;
}
int main()
{
int nr2 = 0, nr5 = 0, p,i = 2;
FILE *in = fopen( F_IN, "rt");
if(!in)
return ERR;
FILE *out = fopen(F_OUT, "wt");
if(!out)
{
fclose(in);
return ERR;
}
fscanf(in, "%d", &p);
for(i = 2; min(nr2,nr5) < p; i++)
{
funct(&nr2,&nr5,i);
if(min(nr2,nr5) > p)
{
fprintf(out, "-1");
fclose(in);
fclose(out);
return SUC;
}
}
--i;
fprintf(out, "%d", i);
fclose(in);
fclose(out);
return SUC;
}