Cod sursa(job #531579)

Utilizator popacamilpopa camil popacamil Data 9 februarie 2011 21:54:12
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
using namespace std;
long long int put5[15];
long long int p,nr,i,j,ad=1,af,sc,aux;
int f=-1;;
int main(){
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
		scanf("%lld",&p);
		aux=p;
		nr=0;
		for(i=2,put5[1]=5;i<=13;++i){
			put5[i]=put5[i-1]*5;
			for(j=1;j<i;++j,++nr){
				if(p==put5[i-1]+nr){
					ad=0;
					break;
				}
			}
			if(put5[i]<aux*5){
				aux-=i-1;
			}
		}
		if(ad==0){
			printf("%d\n",f);
		}
		else{
			p=aux;
			af=p*5;
			if(p==0){
				printf("1");
			}
			else{
			printf("%lld\n",af);
			}
		}
		return 0;
}