1. Немного теории Чтобы сравнить числа в разных системах счисления, нужно привести их к какой-нибудь одной. У нас системы счисления 2, 10, 8=2³, 16=2⁴. Числа в системах по основанию 2ⁿ всегда проще всего сводить к системе счисления по основанию 2, поскольку при этом каждый исходный разряд числа заменяется n двоичными разрядами. Т.е. перевод 8⇒2 сведется к замене каждой цифры тремя двоичными разрядами, а 16⇒2 - четырьмя. И единственной "неудобной" операцией у нас будет перевод 101₁₀⇒Х₂ 2. Собственно решение 21₈ = 10 001₂ = 10001₂ 12₁₆ = 1 0010₂ = 10010₂
Чтобы сравнить числа в разных системах счисления, нужно привести их к какой-нибудь одной. У нас системы счисления 2, 10, 8=2³, 16=2⁴.
Числа в системах по основанию 2ⁿ всегда проще всего сводить к системе счисления по основанию 2, поскольку при этом каждый исходный разряд числа заменяется n двоичными разрядами. Т.е. перевод 8⇒2 сведется к замене каждой цифры тремя двоичными разрядами, а 16⇒2 - четырьмя.
И единственной "неудобной" операцией у нас будет перевод 101₁₀⇒Х₂
2. Собственно решение
21₈ = 10 001₂ = 10001₂
12₁₆ = 1 0010₂ = 10010₂
101/2 = 50, остаток 1
50/2 = 25, остаток 0
25/2 = 12, остаток 1
12/2 = 6, остаток 0
6/2 = 3, остаток 0
3/2 = 1, остаток 1
1/2 = 0, остаток 1
Выписываем остатки в обратном порядке, получая 101₁₀=1100101₂
Располагаем числа по убыванию:
1100101, 10010, 10001, 11
ответ: 101₁₀, 12₁₆, 21₈, 11₂
Объяснение:
1.
a = input("Введите через запятую значения элементов массива (2,3,6...): ").split(",")
new_array = []
for thing in a:
new_array.append(int(thing) * 2)
print(new_array)
2.
a = input("Введите через запятую значения элементов массива (2,3,6...): ").split(",")
new_array = []
last_elem = int(a.pop())
counter = 0
for thing in a:
if counter == 0:
new_array.append(int(thing))
counter += 1
else:
new_array.append(int(thing) * 5)
new_array.append(last_elem)
print(new_array)
3.
a = input("Введите через запятую значения элементов массива (2,3,6...): ").split(",")
part = int(len(a) / 2)
new_array = []
for thing in a[:part]:
new_array.append(int(thing) + 1)
for thing in a[part:]:
new_array.append(int(thing) * 2)
print(new_array)
4.
a = input("Введите через запятую значения элементов массива (2,3,6...): ").split(",")
print(sum([int(number) for number in a]) / len(a))
5.
import random
numbers = range(-2, 3)
random_array = random.sample(numbers, random.randint(1, 4))
positive = [numb for numb in random_array if int(numb) > 0]
print(sum(positive))
6.
import random
numberss = range(2, 11)
numbers = random.sample(numberss, random.randint(1, 9))
d = {"Чётные": 0, "Нечётные": 0}
for thing in numbers:
if int(thing) % 2 == 0:
d["Чётные"] += 1
else:
d["Нечётные"] += 1
print(f"Масив: {numbers}")
print(", ".join([f"{v}: {d[v]}" for v in d]))
7. Не сильно понял задачу, можно объяснить по-подробнее?)