Cod sursa(job #221376)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 16 noiembrie 2008 12:34:11
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
#define FIN "fact.in"
#define FOUT "fact.out"
#define N 35
#define MAX 100000000
int v[N][2],p,sum;
void read(){
	freopen(FIN,"r",stdin);
	scanf("%d",&p);
}
int calc(){
	int i=1,j=5,k=1;
	while (v[i-1][0]<MAX){
		v[i][0]=k;
		v[i][1]=j;
		++i;
		j*=5;
		k=k*5+1;
	}
	return i-1;
}
void solve(){
	int r=p,i;
	if (p==0){
		sum=1;
		return;
	}
	i=calc();
	while (r){
		while (v[i][0]>r)
			--i;
		sum+=(r/v[i][0])*v[i][1];	
		r=r%v[i][0];
	}
}
void write(){
	freopen(FOUT,"w",stdout);
	printf("%d\n",sum);
}
int main(){
	read();
	solve();
	write();
}