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

Ниже пред­став­лен за­пи­сан­ный на раз­ных язы­ках про­грам­ми­ро­ва­ния фраг­мент одной и той же про­грам­мы. В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив А, в пред­став­лен­ном фраг­мен­те про­грам­мы об­ра­ба­ты­ва­ют­ся эле­мен­ты мас­си­ва с ин­дек­са­ми от 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].