Здравствуйте,
вот в универе заставили решить задачку на Delphi, я бы на С++ или на PHP решил бы, а вот с Delphi пока не особо знаком. Прошу помощи
Задача 1. Таблица выиграшей денежной лотереи представляется в виде массива номеров, которые выиграли
a1,...,
an и массивом выиграшей в рублях
p1,..,
pn (
pi - это выиграш, который выпадает на номер
ai (i=1,...,n)). Вычислить суммарный выиграш, который выпадает на билет с номерами
b1,...,
bm. Для развязания задачи использовать алгоритм деления пополам.
Мои пояснения к задаче, для лучшего понимания:
Допустим это массив выигрышных номеров: a =(1, 2, 3, 4, 5,...,36)
Это массив выиграшей в рублях: p = ( 3, 6, 1, 5, 8,...,1) руб
т.е. если выбрать из массива выигрышных номеров число 4 то выигрыш будет равен 5 руб и т.д.
Допустим лотерея 6 из 36,
делаем ввод 6 чисел к примеру 2, 5, 18, 22, 30, 32
загоняем их в массив
b
далее циклами вычисляем ключи чисел, 2, 5, 18 ... в массиве
a
потом тупо по полученным ключам вытаскиваем из массива P суммы денег и плюсуем их.
Что касается алгоритма деления пополам, я никогда не применял. Теоретически массив делится пополам и определяем в какую сторону перебирать значения. Это типа делается для ускорения процесса вычисления.
Буду очень признателен за неоценимую помощ!
Артем
