Cod sursa(job #539322)

Utilizator maritimCristian Lambru maritim 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;
}