Pagini recente » Cod sursa (job #2308516) | Cod sursa (job #2819686) | Cod sursa (job #2563958) | Cod sursa (job #3148201) | Cod sursa (job #167774)
Cod sursa(job #167774)
#include <stdio.h>
#define NM 1001
int n;
int v[NM];
int f[NM];
int i, j, k, nr;
int s[NM];
void Qsort(int st, int dr);
int main()
{
freopen("economie.in", "r", stdin);
freopen("economie.out", "w", stdout);
scanf("%d", &n);
for ( i = 1; i <= n; i++ )
scanf("%d", &v[i]);
Qsort(1, n);
for ( i = 1; i <= n; i++ )
if ( !s[i] )
{
nr++, f[nr] = v[i];
s[i] = 1;
for ( j = i+1; j <= n; j++ )
if ( v[j] % v[i] == 0 ) s[j] = 1;
}
printf("%d\n", nr);
for ( i = 1; i <= nr; i++ )
printf("%d\n", f[i]);
return 0;
}
void Qsort(int st, int dr)
{
int i = st-1;
int j = dr+1;
do
{
do { i++; } while ( v[i] < v[st] );
do { j--; } while ( v[st] < v[j] );
if ( i <= j )
{
int aux = v[i];
v[i] = v[j];
v[j] = aux;
}
} while ( i <= j );
if ( i < dr ) Qsort(i, dr);
if ( st < j ) Qsort(st, j);
}