![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужен алгоритм следующей функции... [Delphi, Windows]
Kutuzov © (2002-04-22 15:37:00)На вход функции подается: Y, A1..An, где 1..n - индексы.
Причём А1>A2; A2>A3...A(n-1)>An.
На выходе функции: Z, B1..Bn, где 1..n - индексы.
Сама функция: Y=A1*B1+A2*B2+...+A(n-1)*B(n-1)+An*Bn+Z.
Причём вариантов ответа у этой функции много и необходимо выбрать следующий: Z, B1..Bn - должны быть минимальны!!!
Все числа Y, Z, A1..An, B1..Bn - целые!!!
Примечание: Написать с конкретным количеством n получается, а вот с неизвестным заранее n незнаю как!!!
Chris (2002-04-24 13:56:00) [1]Насчет математики не подскажу, а по поводу n могу предложить такой вариант:
Используй не статический массив, а динамический:
var massiv: array of record
A, B: integer;
end;
инициализация массива
setlength(massiv,0);
увеличение массива на 1 элемент
setlength(massiv,high(massiv)+2);
уменьшение массива на 1 элемент
setlength(massiv,high(massiv));
запись в последний элемент
massiv[high(massiv)].A:=1;
massiv[high(massiv)].B:=2;