Pagini recente » Cod sursa (job #1064181) | Cod sursa (job #3243841) | Cod sursa (job #2375541) | Cod sursa (job #1087335) | Cod sursa (job #155443)
Cod sursa(job #155443)
# include <stdio.h>
const long int MAXN=1000;
long int n,v[MAXN+1],nsol;
void citire()
{
FILE *f=fopen("economie.in","r");
fscanf(f,"%ld",&n);
long int i,j;
for (i=1;i<=n;i++)
fscanf(f,"%ld",&v[i]);
fcloseall();
}
void quick(long int li, long int lf)
{
long int i=li,j=lf,ii=0,jj=-1,aux;
while (i<j)
{
if (v[i]>v[j])
{
aux=v[i];v[i]=v[j];v[j]=aux;
aux=ii;ii=-jj;jj=-aux;
}
i+=ii;j+=jj;
}
if (i-li>1) quick(li,i-1);
if (lf-i>1) quick(i+1,lf);
}
void ciur()
{
long int i,j;
for (i=1;i<=n;i++)
if (v[i])
{
for (j=i+1;j<=n;j++)
if (v[j]%v[i]==0) v[j]=0;
nsol++;
}
}
void scrie()
{
FILE *g=fopen("economie.out","w");
fprintf(g,"%ld\n",nsol);
long int i;
for (i=1;i<=n;i++)
if (v[i]) fprintf(g,"%ld\n",v[i]);
fcloseall();
}
int main()
{
citire();
quick(1,n);
ciur();
scrie();
return 0;
}