Cod sursa(job #138413)

Utilizator hulparuadrianhulparu adrian hulparuadrian Data 18 februarie 2008 16:46:03
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<iostream.h>
#include<fstream.h>
#define nrcifre 10000
	ifstream f("factoriale.in");
	ofstream g("factoriale.out");
int factori[100],d,o,l,aux,n,k,i,sol[nrcifre];
void solutie(int t)
{
 for(int r=nrcifre-1;r>=1;r--)
{	sol[r]=(sol[r]*t)%10;
	sol[r-1]+=(sol[r]*t)/10;}
	}
  void creste(int o)
{
	for(aux=2;aux<=o;aux++)
    {

     l=aux;d=2;
     while(l!=1)
	{ while(l%d==0)
		{factori[d]++;l/=d;}
		d++;}}}
int main()
{
    sol[nrcifre-1]=1;
    f>>n>>k;
	for(i=1;i<=n;f>>o,creste(o),i++);

for(i=2;i<=99;i++)
	{if (factori[i])
	for(int u=1;u<=k-(factori[i]%k)&&factori[i]%k!=0;solutie(i),u++);
		}
int flag=0;
for(i=1;i<nrcifre;i++)
	{if(sol[i]!=0) flag=1;
		if(flag) g<<sol[i];}
		f.close();
		g.close();
		return 0;
}