Pagini recente » Cod sursa (job #2548045) | Cod sursa (job #2938353) | Cod sursa (job #1297324) | Cod sursa (job #835917) | Cod sursa (job #111731)
Cod sursa(job #111731)
#include <stdio.h>
#include <stdlib.h>
int a[1001],b[1001],nr=0,i,j,d,n,c[50001];
int compare( const void* a, const void* b ) {
int* arg1 = (int*) a;
int* arg2 = (int*) b;
if( *arg1 < *arg2 ) return -1;
else if( *arg1 == *arg2 ) return 0;
else return 1;
}
int main()
{
FILE *in,*out;
in=fopen("economie.in","r");
out=fopen("economie.out","w");
fscanf(in,"%d",&n);
for (i=0;i<n;i++)
fscanf(in,"%d",&a[i]);
qsort(a,n,sizeof(a[0]),compare);
for (i=0;i<n;i++)
{
if (!c[a[i]])
{
nr++;
b[nr]=a[i];
for (j=1;j<=50000;j++)
if (!c[j])
{
if (j>a[i])
{
if (c[j-a[i]])
c[j]=1;
}
else
if (!c[i])
if (j%a[i]==0)
c[j]=1;
}
}
}
fprintf(out,"%d\n",nr);
for (i=1;i<=nr;i++)
fprintf(out,"%d\n",b[i]);
fclose(in);
fclose(out);
}