Ваня хочет подарить бабушке панно из собственноручно собранных пазлов. панно, по замыслу вани, должно иметь форму прямоугольника, помещаться на круглом ломберном столике радиуса r, что стоит у бабушки в гостиной, и содержать максимальное количество пазлов. сколько пазлов можно отобрать для панно, если один пазл в собранном состоянии имеет размер w x h?
на вход программе подаётся три натуральных числа r, w и h, каждое которых не превышает 1.
программа должна вывести одно целое число – количество пазлов.
пример
входные данные
2 1 1
выходные данные
6
a[1] = 20
a[2] = 15
a[3] = 4
a[4] = 8
a[5] = 5
a[6] = 12
a[7] = 10
Объяснение:
ответ зависит от того чему равно n. Если предположить что n равно количеству элементов в массиве, то n = 7.
for i := 1 to n div 2 do
(значения i будут изменяться от 1 до 3 (div - целочисленное деление; n div 2 = 3), т.е. цикл выполнится 3 раза)
Операции в цикле
r := a[i] ( переменной r присваивается значение элемента массива с индексом (под номером) i)
a[i] := a[n - i + 1] (элементу массива с индексом (под номером) i присваивается значение элемента массива индекс (номер) которого рассчитывается по формуле n - i +1)
a[n - i + 1] := r (элементу массива индекс (номер) которого рассчитывается по формуле n - i +1 присваивается звание переменной r)
То есть происходит обмен значений элементов массива с индексом i и n - i + 1.
Рассмотрим операции в цикле подставляя значения i.
i = 1
r := a[1] = 10
a[1] := a[7 - 1 + 1] = a[7] = 20
a[7] := r = 10
i = 2
r := a[2] = 12
a[2] := a[7 - 2 + 1] = a[6] = 15
a[6] := r = 12
i = 3
r := a[3] = 5
a[3] := a[7 - 3 + 1] = a[5] = 4
a[5] := r = 5
После окончания цикла элементы массива будут равны
a[1] = 20
a[2] = 15
a[3] = 4
a[4] = 8 (остаётся без изменений)
a[5] = 5
a[6] = 12
a[7] = 10