Cod sursa(job #780349)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 20 august 2012 13:00:53
Problema Factoriale Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<iostream>
#include<fstream>
using namespace std;
int n,k,x,fa[100],a[2000];
inline void fact(int b)
{
	int i,div,q;
	for (i=2;i<=b;i++)
	{
		div=2;
		q=i;
		while (q!=1)
		{
			if (q%div==0)
				while (q%div==0)
					q=q/div,fa[div]++;
			else
				div++;
		}
	}
}
inline void inmultire (int x)
{
	int i,T=0;
	for (i=1;i<=a[0];i++)
	{
		a[i]=x*a[i]+T;
		T=a[i]/10;
		a[i]=a[i]%10;
	}
	while (T)
	{
		a[++a[0]]=T%10;
		T=T/10;
	}
}
int main(void)
{
	fstream f,g;
	f.open("factoriale.in",ios::in);
	g.open("factoriale.out",ios::out);
	f>>n>>k;
	int i;
	for (i=1;i<=n;i++)
	{
		f>>x;
		fact(x);
	}
	a[0]=1;
	a[1]=1;
	for (i=2;i<=100;i++)
	{
		if (fa[i]%k!=0)
		{
			while (fa[i]%k!=0)
			{
				inmultire(i);
				fa[i]++;
			}
		}
	}
	for (i=a[0];i>=1;i--)
		g<<a[i];
}