Pagini recente » Cod sursa (job #272955) | Cod sursa (job #1608796) | Cod sursa (job #1848442) | Cod sursa (job #19909) | Cod sursa (job #2515440)
#include <fstream>
using namespace std;
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int n,m,k,x,i,j;
int p[100];
int rez[10000];
void desc(int x)
{
while (x%2==0)
{
x=x/2;
p[2]++;
}
while (x%3==0)
{
x=x/3;
p[3]++;
}
while (x%5==0)
{
x=x/5;
p[5]++;
}
while (x%7==0)
{
x=x/7;
p[7]++;
}
if (x>1)
p[x]++;
}
void inmultire(int a[], int x)
{
int i,t=0;
for (i=1;i<=a[0];i++)
{
t+=a[i]*x;
a[i]=t%10;
t=t/10;
}
while (t)
{
a[0]++;
a[a[0]]=t%10;
t=t/10;
}
}
int main()
{
f>>n>>k;
for (i=1;i<=n;i++)
{
f>>x;
for (j=1;j<=x;j++)
desc(j);
}
rez[0]=rez[1]=1;
for (i=1;i<=100;i++)
if (p[i] && p[i]%k)
for (j=1;j<=k-(p[i]%k);j++)
inmultire(rez,i);
for (i=rez[0];i>=1;i--)
g<<rez[i];
return 0;
}