Pagini recente » Cod sursa (job #95873) | Cod sursa (job #1894650) | Cod sursa (job #804289) | Cod sursa (job #792805) | Cod sursa (job #205456)
Cod sursa(job #205456)
#include<fstream.h>
int n;
long a[1001],v[1001],val[1001],nr;
void citire()
{
ifstream fin("economie.in");
int i;
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
fin.close();
}
void numara()
{
int i,ok,j;
nr=1;
val[1]=a[1];
v[a[1]]=1;
for(i=2*a[1];i<=a[n];i+=a[1])
v[i]=1;
for(i=2;i<=n;i++)
if(!v[a[i]])
{
val[++nr]=a[i];
v[a[i]]=nr;
ok=1;
for(j=a[1];j<=a[n] && ok;j++)
if(v[j] && v[j]<nr)
{
if(j+a[i]<=a[n])
v[j+a[i]]=nr;
else ok=0;
}
for(j=a[i]*2;j<=a[n];j+=a[i])
v[j]=nr;
}
}
void afisare()
{
int i;
ofstream fout("economie.out");
fout<<nr<<'\n';
for(i=1;i<=nr;i++)
fout<<val[i]<<'\n';
fout.close();
}
int main()
{
citire();
numara();
afisare();
return 0;
}