Pagini recente » Cod sursa (job #2048331) | Istoria paginii runda/nu_ca-i_minunat | Autentificare | Cod sursa (job #1334433) | Cod sursa (job #277640)
Cod sursa(job #277640)
#include <stdio.h>
#define DIM 1001
int a[DIM],set[DIM],v[50002];
int n,i,ok,k,max,j,w,aux,x;
FILE *f = fopen("economie.in", "r");
FILE *g = fopen("economie.out", "w");
int main(){
fscanf(f,"%d",&n);
for (i=1; i<=n; i++)
fscanf(f,"%d",&a[i]);
do {
ok = 0;
for (i=1; i<n; i++)
if (a[i] > a[i+1]) {
aux = a[i];
a[i] = a[i+1];
a[i+1] = aux;
ok = 1;
}
} while (ok);
max = a[n];
v[0] = 1;
for (i=1; i<=n; i++)
if (!v[a[i]]) {
set[++k] = a[i];
for (j=0; j+a[i] <= max; j++)
if (v[j] && v[j+a[i]]==0) {
w = j+a[i];
x = 1;
while (w*x <= max) {
v[w*x] = 1;
x++;
}
}
}
fprintf(g,"%d\n",k);
for (i=1; i<=k; i++)
fprintf(g,"%d\n",set[i]);
fclose(f);
fclose(g);
return 0;
}