Pagini recente » Cod sursa (job #1754720) | Cod sursa (job #1623042) | Cod sursa (job #1235303) | Cod sursa (job #121596) | Cod sursa (job #158883)
Cod sursa(job #158883)
#include<stdio.h>
unsigned char v[50001];
long long y[1001],min;long x,max,minim=50001;
int n;
int main()
{ int t,i,j;
long long sigma;
FILE *f=fopen("economie.in","r");
fscanf(f,"%d",&n);
for (i=1,max=0;i<=n;i++)
{ fscanf(f,"%ld",&x);
v[x]=1;
if (x>max) max=x;
if (x<minim) minim=x; }
fclose(f);
if (minim==1)
{ min=1;y[1]=1; }
else
{
min=1;y[1]=(long long)minim;
for (i=1;i*minim<=max;i++) v[i*minim]=2;
for (i=minim+1;i<=max;i++)
if (v[i]==1)
{ min++;
y[min]=(long long)i;
for (j=min;j>=1;j--)
{ sigma=0;
for (t=j;t<=min;t++) sigma+=y[t];
for (t=1;t*sigma<=max;t++) v[t*sigma]=2;
}
}
}
FILE *g=fopen("economie.out","w");
fprintf(g,"%lld\n",min);
for (i=1;i<=min;i++)
fprintf(g,"%lld\n",y[i]);
fclose(g);
return 0;
}