Cod sursa(job #205992)

Utilizator AthanaricCirith Gorgor Athanaric Data 3 septembrie 2008 22:01:41
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <stdlib.h>
int v[1000],p[1000],nr,n,i,ok,j;
int compar(const void *p,const void *q)
{
	int *pp=(int*)p, *qq=(int*)q;
	if (*pp>*qq)
		return 1;
	else return -1;
}
int main()
{
	freopen("economie.in","r",stdin);
	freopen("economie.out","w",stdout);
	scanf("%d",&n);
	for (i=1; i<=n; i++)
		scanf("%d\n",&v[i]);
	nr=1; p[nr]=v[1];
	
	qsort(v,n+1,sizeof(v[0]),compar);
	for (i=2; i<=n; i++)
	{
		ok=0;
		for (j=1; j<=nr; j++)
			if (!v[i]%p[j])
			ok=1;
		if (ok==1)
		{
			nr++;
			p[nr]=v[i];
		}
	}
	printf("%d\n",nr);
	for (i=1; i<=nr; i++)
	printf("%d\n",p[i]);
}