(TypeError: unsupported operand type(s) for +=: 'int' and 'list')
2. 3x4 ([3][4])
3. Сложение элементов двумерного массива.
Только вот работать не будет, я полагаю здесь должны были складываться все элементы массивов, но на фото он прибавляет к переменной S не числа а массивы. И это выдаёт ошибку, так что...
Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
1. Это двухмерный массив
(TypeError: unsupported operand type(s) for +=: 'int' and 'list')
2. 3x4 ([3][4])
3. Сложение элементов двумерного массива.
Только вот работать не будет, я полагаю здесь должны были складываться все элементы массивов, но на фото он прибавляет к переменной S не числа а массивы. И это выдаёт ошибку, так что...
Я бы сделал это так:
b = [[3, 5, 7, 78], [12, 10, 9, 56], [45, 31, 14, 23]]
s = 0
for i in b:
for j in i:
s += j
# Или используя len:
for i in range(len(b)):
for j in range(len(i)):
s += b[i][j]
print('s =', s)
# s = 293
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза.
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим
49/6=8 |1
8/6 = 1 |2
1/6=0 |1
121(6)