Cod sursa(job #338902)

Utilizator funkydvdIancu David Traian funkydvd Data 7 august 2009 14:05:14
Problema Factoriale Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
ifstream f1 ("factoriale.in");
ofstream f2 ("factoriale.out");
int A[2001];
void mul(int A[], int B)
{
      int i, t = 0;
      for (i = 1; i <= A[0] || t; i++, t /= 10)
              A[i] = (t += A[i] * B) % 10;
      A[0] = i - 1;
}

int main()
{
	int n,k,t,v[101]={0},i,j,l,rez,z;
	f1>>n>>k;
	for (i=1; i<=n; i++)
	{
		f1>>z;
		while (z>=2)
		{
		t=z;
		for (j=2; j*j<=t; j++) while (t%j==0) {t/=j; v[j]++;}
		if (t!=1) v[t]++;
		z--;
		}
	}
    A[1]=1;
	A[0]=1;
	for (i=2; i<=100; i++)
	{
		if (v[i]!=0 && v[i]%k!=0) 
		{
			l=k-v[i]%k; 
			for (j=1; j<=l; j++) mul (A,i);
		}
	}
	for (i=A[0]; i>=1; i--) f2<<A[i];

	return 0;
}