Cod sursa(job #340297)

Utilizator ZethpixZethpix Zethpix Data 14 august 2009 09:18:22
Problema Factoriale Scor 0
Compilator cpp Status done
Runda w3 Marime 0.83 kb
#include <stdio.h>
long sol[10002],x[102],n,k,i;
void inmultire(long b){
	long t,i;
	i=1;
	t=0;
	while(i<=sol[0]||t){
		t=sol[i]*b+t;
		sol[i]=t%10;
		t/=10;
		i++;
	}
	sol[0]=i-1;
}
void calcul(long n){
	long a[102],i,x,j,t;
	for (i=1;i<=n;i++)
		a[i]=0;
	for(x=1;x<=n;x++){
		i=2;
		while(x%i==0){
			x/=i;
			a[i]++;
		}
		i=3;
		do{
			while(x%i==0){
				x/=i;
				a[i]++;
			}
			i+=2;
		}while(x!=1);
		for(i=2;i<=n;i++)
			for(j=1;j<=k-a[i]%k;j++)
				inmultire(i);
	}
}
int main(){
	FILE *f,*g;
	f=fopen("factoriale.in","r");
	g=fopen("factoriale.out","w");
	fscanf(f,"%ld%ld",&n,&k);
	for(i=1;i<=n;i++)
		fscanf(f,"%ld",&x[i]);
	sol[0]=1;
	sol[1]=1;
	for(i=1;i<=n;i++)
		calcul(x[i]);
	for(i=sol[0];i>=1;i--)
		fprintf(g,"%ld",sol[i]);
	fprintf(g,"\n");
	fclose(f);
	fclose(g);
	return 0;
}