Ниже представлен фрагмент программы, обрабатывающей) одномерный) целочисленный) массив с
индексами от 0 до 10 Известно, что в начале выполнения этого фрагмента в массиве находилась
возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10]. Какое наименьшее
значение может иметь переменная s после выполнения данной) программы?
s := 32;
n := 10;
for i:=0 to n-1 do begin
s:=s+A[i+1]-A[i]+1
end;
Объясните, почему в ответах 52, а у меня выходит 34?
Т.е минимальная разница между двумя соседними числами равна 1, следовательно s:=32+A[10]-A[9]+1=32+1+1=34

6 Сен 2019 в 04:41
562 +1
0
Ответы
1

Если изначально в массиве находилась возрастающая последовательность чисел, то минимальное значение переменной s после выполнения программы будет 34, а не 52.

Давайте разберемся, как получается значение 34:

Изначально s равно 32.В цикле проходим по массиву от 0 до 9 n−1n-1n1, таким образом последний элемент массива не учитывается.На каждом шаге прибавляем к s разницу между двумя соседними элементами массива A[i+1]−A[i]A[i+1]-A[i]A[i+1]A[i] и еще 1.Так как минимальная разница между двумя соседними числами равна 1, то на последнем шаге получаем, что s = 32 + A[10]−A[9]A[10] - A[9]A[10]A[9] + 1 = 32 + 1 + 1 = 34.

Таким образом, минимальное значение переменной s после выполнения программы должно быть равно 34.

20 Апр 2024 в 03:33
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир