Тема: Задача 1
Показать сообщение отдельно
  #1  
Старый 29.11.2007, 05:32
ukrsonic ukrsonic вне форума
Прохожий
 
Регистрация: 29.11.2007
Сообщения: 3
Репутация: 10
Хорошо Задача 1

Здравствуйте,

вот в универе заставили решить задачку на 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 суммы денег и плюсуем их.

Что касается алгоритма деления пополам, я никогда не применял. Теоретически массив делится пополам и определяем в какую сторону перебирать значения. Это типа делается для ускорения процесса вычисления.

Буду очень признателен за неоценимую помощ!
Артем
Ответить с цитированием