Cod sursa(job #697984)

Utilizator ephgstefana gal ephg Data 29 februarie 2012 11:54:10
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <cstdio>
#include <bitset>
using namespace std;
bitset <105> a;
int c[105],puteri[105];
int main () {
	int n,i,k,j;
	long long af=1;
	freopen("factoriale.in","r",stdin);
	freopen("factoriale.out","w",stdout);
	scanf("%d %d",&n,&k);
	for(i=1;i<=n;++i)scanf("%d",&c[i]);
	for(i=2;i*i<=100;++i){
		if (a[i]==0)for(j=i+i;j<=100;j+=i)a[j]=1;
	}
	a[1]=1;
	//for(i=1;i<=100;++i)if(a[i]==0)printf("%d ",i);
	for(i=1;i<=n;++i){
		for(j=1;j<=100&&c[i]>=j;++j){
			
			if(a[j]==0)++puteri[j];
			
		}
	}
	
	for(i=1;i<=100;++i){
		if(puteri[i]%k!=0){
			
			af*=(puteri[i]%k)*i;
		}
	}
	printf("%lld",af);
	return 0;
}