Cod sursa(job #1180170)
Utilizator | Visan Tudor Cosmin VisanCosmin | Data | 30 aprilie 2014 00:29:10 |
---|---|---|---|
Problema | Factorial | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int intlog(double base, double x) {
return (int)(log(x) / log(base));
}
int k,j,i,stop;
unsigned long S,n;
FILE*f=fopen("fact.in","r");
FILE*g=fopen("fact.out","w");
int main()
{
fscanf(f,"%lu",&n);
i=n*4;
stop=1;
while(stop)
{
S=0;
k=intlog(5,i);
for(j=1;j<=k;j++)
S=S+i/pow(5,j);
if(S==n) {fprintf(g,"%lu",i); return 0; }
if(S>n) {fprintf(g,"-1");return 0;}
i++;
}
fclose(f);
fclose(g);
return 0;
}