Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

* Задача *   Найти похожие ветки 

 
___Nikolay ©   (2003-09-19 05:42) [0]

m - динамический массив целых чисел (например: 8,7,25,2,89,3,5)
n - целое число (например: 10)

Нужно представить n в виде всех возможных сумм из чисел масива (если это возможно)
Например для этого случая: 10 = 7 + 3, 10 = 8 + 2, 10 = 5 + 2 + 3

Просто алгоритм опишите pls


 
KSergey ©   (2003-09-19 07:52) [1]

Цену озвучте


 
HolACost! ©   (2003-09-19 08:29) [2]

Пролог тебе поможет!

KSergey © (19.09.03 07:52) [1]
Думаещь заплатит - наивный!


 
Doid ©   (2003-09-19 09:53) [3]

1. Сортишь массив m по возрастанию
2. Применяешь к заданному массиву m следующую функцию:
( _LastPointer - указатель (индекс элемента массива) на последнее число, которое <= n)

void RecurseFunc(int _CurrentPointer, int _IncrementalSum, Chain _SolveChain)
{
for (int i = _CurrentPointer; i <= _LastPointer; i++)
{
_IncrementalSum += m[i];
if (_IncrementalSum > n)
break;
AddToSolveChain(m[i]);
if (_IncrementalSum == n)
OutputSolveChain(_SolveChain);
if (_IncrementalSum < n)
RecurseFunc(i + 1, _IncrementalSum, _SolveChain);
}
}


 
Doid ©   (2003-09-19 09:57) [4]

Пардон :) вышла маленькая ошибочка.

void RecurseFunc(int _CurrentPointer, int _IncrementalSum, Chain _SolveChain)
{
int TemporarySum;

for (int i = _CurrentPointer; i <= _LastPointer; i++)
{
TemporarySum = _IncrementalSum + m[i];
if (TemporarySum > n)
break;
AddToSolveChain(m[i]);
if (TemporarySum == n)
OutputSolveChain(_SolveChain);
if (TemporarySum < n)
RecurseFunc(i + 1, TemporarySum, _SolveChain);
}
}


 
___Nikolay ©   (2003-09-19 10:57) [5]

Doid ©

БОЛЬШОЙ ПАСИБ!


 
Думкин ©   (2003-09-19 11:01) [6]

> ___Nikolay © (19.09.03 10:57)
> Doid ©
>
> БОЛЬШОЙ ПАСИБ!

А зачет кому будет тебе или Doid © ??


 
___Nikolay ©   (2003-09-19 11:16) [7]

2 Думкин ©

Эт не для зачёта
друга на работу принимают - попросил помочь
ну я не долго думая - закинул сюда
(одна голова хорошо... а две уже не красиво =)


 
NickBat ©   (2003-09-19 11:45) [8]

А твое хобби не смогло помочь другу? :)))


 
MBo ©   (2003-09-19 12:01) [9]

Хм. Выложено 5 задач, значит, каждому ответившему - 20% оклада недоразвитого программиста.


 
Palladin ©   (2003-09-19 12:04) [10]

Странные работодатели... подобное нужно решать на листочке бумаги, не отходя от места, и давать полчаса или час...


 
Doid ©   (2003-09-19 12:09) [11]

// Palladin © (19.09.03 12:04) [10]
Это уже будет чем-то по срокам ACM-овскую олимпиаду напоминать :)


 
KSergey ©   (2003-09-19 13:13) [12]

[7] ___Nikolay © (19.09.03 11:16)
Эт не для зачёта
друга на работу принимают - попросил помочь


Ответьте, пожалуйста, мне просто любопытно: а работать он как будет? Будет в форумы постить свои ТЗ, выданные начальством? Или того лучше вначале просить "помочь" это ТЗ ему составить?
Или суть в том, чтобы устроиться?

PS
А я то всегда удивляюсь: откуда такие вопросы беруться на форумах? ;)


 
Игорь Шевченко ©   (2003-09-19 15:59) [13]

KSergey © (19.09.03 13:13)


> А я то всегда удивляюсь: откуда такие вопросы беруться на
> форумах? ;)


А авторам вопросов своей головой нельзя думать - слишком ценный ресурс, можно и перенапрячь невзначай. Зачем, когда всегда найдется лох, который на халяву ответит.


 
Skier ©   (2003-09-19 16:05) [14]


> Зачем, когда всегда найдется лох, который на халяву ответит.

Зачем так категорично ? :)
Может это и не лох вовсе, а человек, которому интересно подумать своей головой (для тренировки :) ) в отличии от автора вопроса...
Cие всегда похвально, IMHO.


 
Владислав ©   (2003-09-19 16:05) [15]

LOL :)))


 
Игорь Шевченко ©   (2003-09-19 16:09) [16]

Skier © (19.09.03 16:05)


> Зачем так категорично ? :)


Дык, это ж не мой ход мыслей, а авторов :))



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
8-27613
Вячеслав В.К.
2003-06-06 08:47
2003.10.09
Необходимо получить изображение с USB видеокамеры


8-27620
adam
2003-06-11 07:07
2003.10.09
mp3.... Как???


3-27383
voodoo
2003-09-21 13:30
2003.10.09
Число записей


3-27301
Vlad
2003-09-19 12:31
2003.10.09
Вопрос по InterBase


14-27691
MJ
2003-09-19 23:42
2003.10.09
файлы