Pagini recente » Cod sursa (job #1228559) | Cod sursa (job #2805121) | Cod sursa (job #3122872) | Cod sursa (job #2242770) | Cod sursa (job #561059)
Cod sursa(job #561059)
#include <iostream>
#include <fstream>
using namespace std;
int vector[1000];
int keep[1000];
int functie( int x, int m)
{
cout<<x<<" "<<m<<endl;
if( m == 0 )
{
//cout<<!x%keep[m];
cout<<keep[0]<<" "<<endl;
return !(x%keep[0]);
}
else
{
bool OK=false;
int j = x/keep[m];
for( int i=0;i<=j;i++ )
{
OK = OK || functie( x-keep[m]*i, m-1 );
if( OK == true )
{
cout<<1;
return OK;
break;
}
}
}
}
int main()
{
ifstream citire("economie.in");
ofstream scriere("economie.out");
int N,i;
citire>>N;
int t=1;
for( i=0;i<N;i++ )
{
citire>>vector[i];
}
sort(&vector[0], &vector[N]);
keep[0]=vector[0];
for( i=1;i<N;i++ )
{
if ( !functie( vector[i],t-1 ) )
{
cout<<"adevarat ";
keep[t]=vector[i];
t++;
}
}
scriere<<t<<"\n";
for( i=0;i<t;i++ )
{
scriere<<keep[i]<<" ";
}
}