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

лерунька7 лерунька7    3   25.07.2019 04:00    0

Ответы
РАДЖАБ555 РАДЖАБ555  30.08.2020 22:37
довольно простой, только надо задать 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
ПОКАЗАТЬ ОТВЕТЫ
boykodiana57 boykodiana57  30.08.2020 22:37
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика