Pagini recente » Cod sursa (job #285880) | Cod sursa (job #1444702) | Cod sursa (job #2433380) | Cod sursa (job #1805444) | Cod sursa (job #121671)
Cod sursa(job #121671)
#include<stdio.h>
int poz,sir[1001],sol[1001];
int verif(int val,int p)
{int i,j;
for(i=1; i<=p; ++i)
{
if(val%sol[i]==0)
return 0;
for(j=1; j<=p; ++j)
{ if(i!=j)
if((val-sol[j])%sol[i]==0){
return 0;}
}
}
return 1;
}
void rez(int inc,int sf,int &poz)
{char ok='0';
int i1=0,j1=-1,c;
while(inc<sf)
{ if(sir[inc]>sir[sf])
{ sir[sf]^=sir[inc];
sir[inc]^=sir[sf];
sir[sf]^=sir[inc];
c=i1;
i1=-j1;
j1=-c;
}
inc+=i1;
sf+=j1;
}
poz=inc;
}
void quick(int inc,int sf)
{
if(inc<sf)
{ rez(inc,sf,poz);
quick(inc,poz-1);
quick(poz+1,sf);
}
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
int n,i,p=0;
scanf("%d",&n);
for(i=1; i<=n; i++)
scanf("%d",&sir[i]);
quick(1,n);
int rez;
int j;
if(sir[1]!=1)
{ sol[++p]=sir[1];
for(i=2; i<=n; i++){
if(sir[i]!=sir[i-1])
{
if(verif(sir[i],p))
sol[++p]=sir[i];
}
}
printf("%d\n",p);
for(i=1; i<=p; ++i)
printf("%d\n",sol[i]);
}
else
printf("1\n1\n");
return 0;
}