
20.06.2008, 09:54
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
сортируешь элементы в порядке возрастания
затем берешь функцию
Код:
int check(int curindex,int maxindex,int sum,int rezult)
{
int i,cursum;
for(i=curindex;i<maxindex;i++)
{
cursum=A[i]+sum;
if(cursum==rezult)
return 1;
else
if(cursum>rezult)
return 0;
else
if(check(i+1,maxindex,cursum,rezult)==1)
return 1;
}
return 0;
}
// использование функции
for(j=0;j<M;j++)
if(check(0,j,0,A[j])==0)
{ printf("Minimal is:%d",A[j]); break; }
не проверял бил прямо тут!
|
|
|