Cod sursa(job #679834)

Utilizator Roninsabau sabin nicolae cristian Ronin Data 13 februarie 2012 19:36:55
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>

int v[8]={0};
void f(int x)
{	if(v[x]==10) 
	{v[x]=0;v[x+1]++;f(x+1);}}
int main()
{
	int i;
	long p,a=0,n=0;
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%d",&p);
	while(a<p)
	{v[0]++;a++;
	if(v[0]==10) f(0);
	if((v[0]==5)||(!v[0]))
	{a++;n=v[1]*10+v[0];
	if((n==0)||(n==25)||(n=50)||(n=75))
	{a++;n+=v[2]*100;if((n==0)||(n==125)||(n==250)||(n==375)||(n==500)||(n==625)||(n==750)||(n==875))
	{a++;n+=v[3]*1000;if(!(n%625))
	{a++;n+=v[4]*10000;if(!(n%3125))
	{a++;n+=v[5]*100000;if(!(n%15625))
	{a++;n+=v[6]*1000000;if(!(n%78125))
	{a++;n+=v[7]*10000000;if(!(n%390625))
	{a++;n+=v[8]*100000000;if(!(n%1953125))
	{a++;if(!(n%9765625))
	{a++;if(!(48828125)) a++;}}}}}}}}}}}
	if(a>p) printf("%d",-1);
	else printf("%d",5*n);
	return 0;


}