MAS = [?,?,?,?,?] for i in range(1,5): MAS[i] +=MAS[i-1]*3 В ответе укажите через...

0 голосов
148 просмотров

MAS = [?,?,?,?,?]
for i in range(1,5):
MAS[i] +=MAS[i-1]*3
В ответе укажите через пробел, чему изначально были равны элементы массива MAS,
если в результате работы программы они оказались равны 3 14 47 142 428 (в порядке возрастания индексов).


Напишите подробно: Как решать?


Информатика (35 баллов) | 148 просмотров
0

чему равно mas[0] ?

Дано ответов: 2
0 голосов
Правильный ответ

Способ довольно простой, только надо задать mas[0], пусть оно будет 0
mas[1] = mas[1] + mas[0]*3 = mas[1] = 3
mas[2] = mas[2] + mas[1]*3 = mas[2] + 9 = 14 -> mas[2] = 14-9 = 5
и тд

#Ruby22
mas = [0, 3, 5, 5, 1, 2]
for i in 1..5
    mas[i] += mas[i - 1] * 3
end
p mas


(53.1k баллов)
0

ПАРДОН,Я ТУПАНУЛ

0

А mas[3] вычислить как?

0

аналогично

0

mas[3] = mas[3] + mas[2]*3

0

mas[3] = mas[3] + mas[2]*3 = mas[3] + 15 = 47 ->mas[3] = 47-15 = 32. Что неправильно я сделала?

0

Или,опять тупанула?

0

Пожалуйста,подскажите :)

0

mas[3] = mas[3] + mas[2]*3 = mas[3] + 3*14 = 47 ->mas[3] = 47-42 =5

0

ведь на этот момент второй элемент уже поменялся, надо брать измененный

0

Ой,спасибки

0 голосов

1. Первый элемент массива не менялся, значит M[0] = 3
2. Чтобы получить M[1] надо рассмотреть такой вариант:
14 = MAS[0]*3+X, где Х есть предыдущее значение элемента M[1], получим, что Х = 5 и изначально  M[1] = 5
3. Зная второй элемент массива несложно получить и третий:
47 = MAS[1] * 3 + X = 14*3 +X, где Х есть предыдущее значение элемента M[2], получим, что Х = 5 и изначально  M[2] = 5
4. Аналогично находим, что первоначальное значение М[3] =  1, а M[4]  = 2

5. Значит массив изначально был такой:
3 5 5 1 2

Напишем код на Python для проверки:
MAS = [3,5,5,1,2]
print(MAS[0],sep=' ', end=' ')
for i in range(1,5):
    MAS[i] +=MAS[i-1]*3
    print(MAS[i],sep=' ', end=' ')

Результат:
3 14 47 142 428


Ответ: 3 5 5 1 2



(13.9k баллов)