Cod sursa(job #346742)

Utilizator radu_cppRadu Voroneanu radu_cpp Data 9 septembrie 2009 14:18:22
Problema Factoriale Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>

const int m=25;
const int p[26] = {0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,
					59,61,67,71,73,79,83,89,97};

int a[101];
int nr[100001];
int t,i,j,x,y,n,k;


int main()
{
	freopen("factoriale.in","r",stdin);
	freopen("factoriale.out","w",stdout);
	scanf("%d %d",&n,&k);
	for (i=1; i<=n; i++){
		scanf("%d",&x);
		for (j=1; j<=m; j++){
			y=p[j];
			while (y<=x){
				a[p[j]]+=x/y;
				y*=p[j];
			}
		}
	}
	nr[0]=1; nr[1]=1;
	for (j=1; j<=m; j++)
		while (a[p[j]] % k!=0){
			t=0;
			i=1;
			a[p[j]]++;
			while (i<=nr[0] || t!=0){
				t=t/10 + nr[i]*p[j];
				nr[i]=t % 10;
				i++;
			}
			nr[0]=i-2;
		}
	for (i=nr[0]; i>=1; i--)
		printf("%d",nr[i]);
	printf("\n");
	return 0;
}