Автор | Сообщение |
|
Отправлено: 29.03.16 21:41. Заголовок: На сайте нет разбора подобного задания №19
Помогите, пожалуйста, разобраться с решением задания "Ниже представлен фрагмент программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10. Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы? s := 27; n := 10; for k:=0 to n-1 do begin s:=s+A[k]-A[k+1]+2 end;
|
|
|
Ответов - 4
[только новые]
|
|
|
| Администратор
|
Сообщение: 1055
|
|
Отправлено: 29.03.16 21:54. Заголовок: Попыванова пишет: s:..
Попыванова пишет: Попробуйте выписать выражение для суммы, например, для массива из 4 или 5 элементов. Вы увидите, что там все элементы, кроме двух, сократятся.
|
|
|
|
Отправлено: 04.04.16 19:32. Заголовок: Это все понятно, но ..
Это все понятно, но не известен ни один элемент. Как вычислить результат?
|
|
|
|
Отправлено: 04.04.16 19:34. Заголовок: в итоге у меня получ..
в итоге у меня получилось S:=4S+a[0]-a[4]+8 (для 4-х элементов). Или я делаю что-то не так?
|
|
|
|
| Администратор
|
Сообщение: 1069
|
|
Отправлено: 05.04.16 07:51. Заголовок: Попыванова пишет: в ..
Попыванова пишет: цитата: | в итоге у меня получилось S:=4S+a[0]-a[4]+8 (для 4-х элементов). Или я делаю что-то не так? |
|
Для 4-х элементов: S = 27 + A[0] - A[4] + 8 для n элементов S = 27 + A[0] - A[n] + 2*n Наибольшее значение S получится тогда, когда разница A[0]-A[n] максимальная. Последовательность строго возрастающая, поэтому в лучшем для нас случае A[n]=A[0]+n, тогда разность A[0]-A[n]=-n, в нашем случае "-10". "Дальше - сами". :-)
|
|
|
|