Pagini recente » Monitorul de evaluare | Cod sursa (job #2013635) | Cod sursa (job #466669) | Cod sursa (job #2008241) | Cod sursa (job #126980)
Cod sursa(job #126980)
#include<stdio.h>
#define NMAX 1001
#define MMAX 50001
long x[NMAX],y[MMAX],z[MMAX],i,j,m,sol,rez[NMAX],q,n;
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
{
scanf("%ld",&x[i]);
z[x[i]]=1;
if (x[i]>q) q=x[i];
}
m=n;
sol=0;
y[0]=1;
for (i=1;i<=n&&m>0;i++)
{
for (j=1;i*j<=q;j++)
if (z[i*j])
{
m--;
z[i*j]=0;
y[i*j]=1;
}
for (j=0;j<=q;j++)
if (y[i*j]&&z[i*j])
{
z[i*j]=0;
m--;
y[i*j]=1;
}
rez[++rez[0]]=i;
}
printf("%ld\n",rez[0]);
for (i=1;i<=rez[0];i++)
printf("%ld\n",rez[i]);
return 0;
}