Pagini recente » simulareoji10 | Cod sursa (job #1560942) | Cod sursa (job #2132000) | Cod sursa (job #2530874) | Cod sursa (job #230129)
Cod sursa(job #230129)
#include<stdio.h>
unsigned long int fact(unsigned long int n)
{
unsigned long int i;unsigned long int rez=1;
for (i=1;i<=n;i++)
{
rez=rez*i;
}
return(rez);
}
unsigned long int putere(unsigned long int a,unsigned long int b)
{
unsigned long int i;unsigned long int rez=a;
for (i=2;i<=b;i++)
{
rez=rez*a;
}
return rez;
}
unsigned long int patrat(unsigned long int m,unsigned long int x)
{
unsigned long int i;
for (i=2;i<=100000;i++)
{
if (putere(i,m)==x) return 1;
}
return 0;
}
int main()
{
FILE *in=fopen("factoriale.in","r"),
*out=fopen("factoriale.out","w");
unsigned long int v[100],n,put,i;
unsigned long int prod=1;
fscanf(in,"%d",&n);
fscanf(in,"%d",&put);
for (i=1;i<=n;i++)
{
fscanf(in,"%d",&v[i]);
}
for (i=1;i<=n;i++)
{
prod=prod*fact(v[i]);
}
for (i=1;i<=1000;i++)
{
if (patrat(put,i*prod)==1)
{
fprintf(out,"%d",i);
return 0;
}
}
fprintf(out,"%d",0);
return 0;
}