Инструкция к выполнению работы:
- в работе вам необходимо написать программы на языке Python, реализующие описанные алгоритмы преобразования чисел;
- во всех заданиях на вход подаётся натуральное число N;
- все преобразования выполняйте строго по шагам, указанным в условии;
- результат выводите в соответствии с требуемой системой счисления.
Требования к решениям:
- все задания выполняются в одном файле .py;
- решение каждого задания оформляйте в виде функции;
- название функции это f + № задания. Например: функция 1-го задания —
f1(N), второго —f2(N); - для перевода в десятичную систему счисления использовать int(num, base), например:
a = '111010' # двоичная запись числа n = int(a, 2) # перевод в десятичную систему
- для перевода из десятичной в другие системы счисления использовать функцию:
def to_base(num, base): digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' result = '' while num > 0: result += digits[num % base] num //= base return result[::-1]например, для перевода в двоичную систему счисления:a = 58 # десятичное число b = to_base(a, 2) # перевод в двоичную систему print(b) # вывод: 111010
Пример оформления решения
def f0(N):
b = bin(N)[2:]
b += '1'
R = int(b, 2)
return R
if f0(5) == 11 and f0(6) == 13:
print('Задание 0 выполнено верно')
else:
print('Задание 0 выполнено неверно')
Задания
Задание 1
1. Перевести число в двоичную систему.
2. Если в двоичной записи последняя цифра равна 0 — дописать 1, иначе дописать 0.
3. Перевести результат в десятичную систему.
f1(8) == 17
Задание 2
1. Перевести число в двоичную систему.
2. Если в двоичной записи количество единиц чётное — дописать 10, иначе 01.
3. Перевести результат в восьмеричную систему.
f2(7) == '35'
Задание 3
1. Перевести число в троичную систему.
2. Если сумма цифр* двоичной записи делится на 3 — дописать 2, иначе 1.
3. Перевести результат в двоичную систему.
*сумма цифр — это сумма всех цифр в записи числа. Например, сумма цифр числа 1011 равна 1 + 0 + 1 + 1 = 3.
f3(8) == '11001'
Задание 4
1. Перевести число в двоичную систему.
2. Если двоичная запись числа оканчивается на 1 — дописать справа 10, иначе 11.
3. Перевести в семиричную систему.
4. Если первая цифра чётная — дописать слева 3, иначе справа 5.
5. Перевести в десятичную систему.
f4(10) == 190
Задание 5
1. Перевести число в двоичную систему.
2. Заменить: 0 → 01, 1 → 10.
3. Перевести в десятичную систему.
f4(3) == 10