Pagini recente » Cod sursa (job #2549786) | Cod sursa (job #453678) | Cod sursa (job #252621) | Cod sursa (job #2579911) | Cod sursa (job #277493)
Cod sursa(job #277493)
#include<fstream.h>
ifstream f("economie.in");
ofstream g("economie.out");
unsigned int monezi[1001],n,i,x,k,ok,nr,j;
unsigned int posibilitati[50001];
int main(){
f>>n;
for(i=1;i<=n;i++)
f>>monezi[i];
for(i=1;i<=n-1;i++)
for(k=i+1;k<=n;k++)
if(monezi[i]>monezi[k]){
x=monezi[k];
monezi[k]=monezi[i];
monezi[i]=x;}
ok=0;
nr=0;
while(ok==0){
ok=1;
for(i=1;i<n;i++)
if(posibilitati[monezi[i]]==0)
{ok=0;break;}
if(ok==0){
posibilitati[monezi[i]]=2;
nr++;
x=1;
for(i=x+1;i<=50001;i++){
if(i%x==0)
posibilitati[i]=1;
for(j=i+1;j<=50001;j++)
if(posibilitati[monezi[i]]!=0&&posibilitati[monezi[j]]!=0)
{x=monezi[i]+monezi[j];
posibilitati[x]=1;}}
}}
g<<nr<<'\n';
for(i=1;i<=n;i++)
if(posibilitati[monezi[i]]==2)
g<<monezi[i]<<" ";
return 0;
}