Cod sursa(job #306621)

Utilizator ConsstantinTabacu Raul Consstantin Data 21 aprilie 2009 17:37:04
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#define N 20
struct ceva {unsigned long long int inf,z;} v[1001];

unsigned long long int p,i,j,k,l,m,n,sol;

int main(){

freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);

scanf("%lld",&p);
if(p==0){printf("%d",1);return 0;}

v[1].inf=5;v[1].z=1;
for(i=2;i<=N;i++)
	{v[i].inf=v[i-1].inf*5;
	v[i].z=v[i-1].z*5+1;}
	
for(i=N;i>=1;i--)
	if(v[i].z<=p)
		for(j=4;j>=1;j--)
		if(v[i].z*j<=p){
		sol+=v[i].inf*j;p-=v[i].z*j;break;}
if(p)
	printf("%d",-1);
else
	
printf("%lld",sol);
	
return 0;}