Cod sursa(job #142743)
Utilizator | Data | 25 februarie 2008 08:39:28 | |
---|---|---|---|
Problema | Economie | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.39 kb |
#include <fstream.h>
int main(){
int i,j,ind,n,b,v[100],test,min,inm,temp,x,scz=0;
ifstream in("economie.in");
ofstream out("economie.out");
in >>n;
for(i=0;i<n;i++){
in >>v[i];
if(v[i]==1){
test=0;
out <<"1\n1";
}
}
if(test){
for(i=0;i<n-1;i++){
min=v[i];
for(j=i;j<n;j++)
if(min>v[j]){
inm=j;
min=v[j];
}
temp=v[inm];
v[inm]=v[i];
v[i]=temp;
}
ind=0;
while(ind<n){
scz=0;
i=ind+1;
while(i<n){
b=1;
if(v[i]%v[ind]==0)
b=0;
else
for(j=0;j<ind && b==1;j++){
x=0;
while(v[i]-(x*v[j])>0 && b==1){
if((v[i]-(x*v[j]))%v[ind]==0)
b=0;
x++;
}
}
if(b==0){
for(j=i;j<n-1;j++)
v[j]=v[j+1];
n--;
}
i++;
}
ind++;
}
}
out <<ind<<"\n";
for(i=0;i<ind;i++)
out <<v[i]<<"\n";
in.close();
out.close();
return 0;
}