Pagini recente » Cod sursa (job #2257168) | Cod sursa (job #638776) | Cod sursa (job #240899) | Cod sursa (job #2584321) | Cod sursa (job #237397)
Cod sursa(job #237397)
#include<stdio.h>
int n,a[1001],sol[1001];
int divide(int p,int q){
int st,dr,x;
st=p;
dr=q;
x=a[p];
while(st<dr){
while(st<dr&&a[dr]>=x)
--dr;
a[st]=a[dr];
while(st<dr&&a[st]<=x)
++st;
a[dr]=a[st];
a[st]=x;}
return st;}
void qsort(int p,int q){
int m;
m=divide(p,q);
if(m-1>p)
qsort(p,m-1);
if(m+1<q)
qsort(m+1,q);}
void solve(){
int i,j,k=0;
scanf("%d",&n);
for(i=1; i<=n; ++i)
scanf("%d",&a[i]);
qsort(1,n);
sol[++k]=a[1];
a[1]=0;
for(i=2; i<=n; ++i){
for(j=1; j<=k; ++j)
if(a[i]%sol[j]==0)
break;
if(j==k+1){
sol[++k]=a[i];
a[i]=0;}}
printf("%d\n",k);
for(i=1; i<=k; ++i)
printf("%d ",sol[i]);}
int main(){
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
solve();
return 0;}