Cod sursa(job #233987)

Utilizator AthanaricCirith Gorgor Athanaric Data 19 decembrie 2008 20:27:07
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#define VALMAX 50000
#define N 1000
int n,v[N],a[VALMAX],nr,x[N];
void Read()
{
	scanf("%d",&n);
	for (int i=1; i<=n; i++)
		scanf("%d",&v[i]);
}
void SortareOlteneasca()
{
	for (int i=1; i<=n-1; i++)
		for (int j=i+1; j<=n; j++)
			if (v[i]>v[j])
			{
				int aux=v[i];
				v[i]=v[j];
				v[j]=aux;
			}
}
void Solve()
{
	Read();
	SortareOlteneasca();
	for (int i=1; i<=n; i++)
		if (a[v[i]]==0)
		{
			x[++nr]=v[i];
			a[v[i]]=1;
			for (int j=v[i]; j<=VALMAX; j+=v[i])
				a[j]=1;
		}
	printf("%d\n",nr);
	for (int i=1; i<=nr; i++)
		printf("%d\n",x[i]);
}
int main()
{
	freopen("economie.in","r",stdin);
	freopen("economie.out","w",stdout);
	Solve();
}