Pagini recente » Cod sursa (job #40983) | Cod sursa (job #3005) | Cod sursa (job #299353) | Cod sursa (job #1270041) | Cod sursa (job #137958)
Cod sursa(job #137958)
#include<fstream.h>
#include<iomanip.h>
#include<math.h>
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int puteri[100],l,n,k,x;
int sol[300];
void calc_sol(int y)
{for(int i=300;i>=1;i--)
{ sol[i]=(sol[i]*y)%10;
sol[i-1]+=(sol[i]*y)/10;}
}
void mark_div(int l)
{
int aux=l,d=2;
while(aux!=1)
{
if(aux%d==0)
while(aux%d==0)
{puteri[d]++;aux/=d;}
d++;
}
}
int main()
{
f>>n>>k;
for(int i=1;i<=n;i++)
{f>>x;
for(int l=2;l<=x;mark_div(l),l++);
}
sol[300]=1;
for(int i=2;i<=97;i++)
{
if (puteri[i]) for(int y=1;y<=puteri[i]%k;calc_sol(i),y++);
}
int i=1;
while(sol[i]==0)i++;
for(l=i;l<=300;l++) g<<sol[l];
f.close();
g.close();
return 0;
}