Cod sursa(job #504716)

Utilizator Robert29FMI Tilica Robert Robert29 Data 28 noiembrie 2010 15:32:36
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
FILE*f=fopen("factoriale.in","r");
FILE*g=fopen("factoriale.out","w");
int n,sol,z,i,j,k,x,p[50],v[102];
int main() {
	for(i=2;i<=100;i++)
		if(v[i]==0){
			for(j=2*i;j<=100;j+=i)
				v[j]=1;
			p[++k]=i;
		}
	for(i=1;i<=k;i++)
		v[p[i]]=0;
	fscanf(f,"%d%d",&n,&z);
	for(i=1;i<=n;i++){
		fscanf(f,"%d",&x);
		for(j=2;j<=x;j++){
			k=1;
			while(x!=1){
				while(x%p[k]==0){
					v[p[k]]++;
					x/=p[k];
				}
				k++;
			}
		}
	}
	sol=1;
	for(i=1;i<=100;i++)
		for(j=1;j<=v[i]%z;j++){
			sol*=v[i];
			v[i]--;
		}
	fprintf(g,"%d",sol);	
	fclose(g);
	fclose(f);
	return 0;
}