≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задания Д 19 № 5303

Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы. В программе описан одномерный целочисленный массив А, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 10.

 

БейсикПаскаль

n = 10

FOR i = 1 ТО n

A (n+1-i) = 2*A(i)

NEXT i

n := 10;

for i := 1 to n do begin

A [n+1-i] := 2*A[i];

end;

Си++Алгоритмический язык

n = 10;

for (i = 1; i <= n; i++) {

A [n+1-i] = 2*A[i];

}

n : = 10

нц для i от 1 до n

A[n+1-i] := 2*A[i]

кц

Python

n = 10

for i in range(1, n+1):

    A [n+1-i] = 2*A[i]

 

 

Перед началом выполнения фрагмента элементы массива имеют значения соответственно

 

1, 2, 4, 8, 16, 32, 64, 128, 256, 512, т.е. A[k] = 2k-1, k = 1, ..., 10.

 

Укажите значение, которое после выполнения указанного фрагмента программы имеют два или более рассмотренных в этом фрагменте элемента массива. Если таких чисел несколько, укажите наибольшее из них.

 

1) такого значения нет

2) 8

3) 32

4) 128

Пояснение.

Так будет выглядеть массив после шестого шага:

 

A[10] = 2

A[9] = 4

A[8] = 8

A[7] = 16

A[6] = 32

A[5]= 16

A[4]= 8

A[3] = 4

A[2] = 2

A[1] = 1

 

Так после десятого:

 

A[10] = 2

A[9] = 4

A[8] = 8

A[7] = 16

A[6] = 32

A[5]= 64

A[4]= 32

A[3] = 16

A[2] = 8

A[1] = 4

 

Наибольшее из повторяющихся чисел — 32.

 

Ответ: 3.

Спрятать пояснение · ·
Руслан Галямов 20.10.2013 13:10

Извините, я не совсем понял, как вы сразу узнали вид массива после шестого шага. Можно ещё подробнее пояснить. Уверен, многие будут признательны

Alexander Tischenko

Это сделано последовательно с первого шага.

Иначе никак нельзя, потому что A[i] зависит от A[i-1].