Mai intai trebuie sa te autentifici.
Cod sursa(job #539322)
| Utilizator | Data | 22 februarie 2011 20:53:01 | |
|---|---|---|---|
| Problema | Factorial | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include<stdio.h>
using namespace std;
long long p;
long long nr = 1;
long long i = 5;
long long nri = 78125;
void citire(void)
{
FILE *f = fopen("fact.in","r");
fscanf(f,"%d",&p);
fclose(f);
}
void prelucrare(void)
{
long long j = 0;
while(nr<p)
{
i += 5;
j = i;
while(!(j%5))
{
nr ++;
j /= 5;
}
}
}
void parcurgere(void)
{
int gata = 1;
while(!gata)
{
while(p < nr)
{
nr += nri;
}
}
}
int main()
{
FILE *f = fopen("fact.out","w");
citire();
if(!p)
fprintf(f,"1");
else
{
prelucrare();
if(nr == p)
fprintf(f,"%lld",i);
else
fprintf(f,"-1");
}
fclose(f);
return 0;
}