Pagini recente » Cod sursa (job #838362) | Cod sursa (job #616318) | Cod sursa (job #1385541) | Cod sursa (job #721492) | Cod sursa (job #432110)
Cod sursa(job #432110)
#include <stdio.h>
FILE *f=fopen("factoriale.in","r"),*g=fopen("factoriale.out","w");
long long n,k,i,v[101],x[101],s[10001],l,j,a;
int main(void)
{
fscanf(f,"%lld%lld",&n,&k);
for (i=1;i<=n;i++)
{
fscanf(f,"%lld",&x[i]);
a=x[i];
for (l=2;l<=a;l++)
{
x[i]=l;
while (x[i]%2==0)
{
x[i]/=2;
v[2]++;
}
for (j=3;x[i]>1;j+=2)
{
while (x[i]%j==0)
{
x[i]/=j;
v[j]++;
}
}
if (x[i]>1)
v[x[i]]++;
}
}
s[1]=1;
s[0]=1;
int r;
for (i=2;i<=101;i++)
{
if (v[i]==0) continue;
while (v[i]%k!=0)
{
v[i]++;
r=0;
for (j=1;j<=s[0];j++)
{
s[j]=s[j]*i+r;
r=s[j]/10;
s[j]%=10;
}
while (r!=0)
{
s[++s[0]]=r%10;
r/=10;
}
}
}
for (i=s[0];i>=1;i--)
fprintf(g,"%lld",s[i]);
fprintf(g,"\n");
fclose(g);
return 0;
}