Реализуйте инкремент числа в фибоначчиевой системе счисления.
Решение оформите в виде функции void inc_fib(string & n).
На проверку сдайте только тело функции.
Входная строка может иметь длину до 100000 символов.
| Вызов функции | Вывод |
|---|---|
string n = "100101"s; |
101000 |
Реализуйте декремент числа в фибоначчиевой системе счисления.
Решение оформите в виде функции void dec_fib(string & n).
На проверку сдайте только тело функции.
Входная строка может иметь длину до 100000 символов.
| Вызов функции | Вывод |
|---|---|
string n = "101000"s; |
100101 |
Дано два шестнадцатеричных числа, длиной до 100000 символов каждый. Вычислите их сумму.
Решение оформите в виде функции string sum_hex(string n1, string n2).
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
sum_hex("F1"s, "F"s) |
"100"s |
Реализуйте сложение в уравновешенной троичной системе счисления.
Решение оформите в виде функции string sum_ter(string n1, string n2).
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
sum_ter("1$$$"s, "$0$"s) |
"11"s |
Пример соответствует выражению 14+(-10)=4.
Реализуйте сложение в фибоначчиевой системе счисления.
Решение оформите в виде функции string sum_fib(string n1, string n2).
На проверку сдайте только тело функции.
Сложность решения: квадрат от длины входных чисел (длина входных чисел до 1000 знаков).
| Вызов функции | Возвращаемое значение |
|---|---|
sum_fib("10010"s, "10101"s) |
"1000001"s |
Реализуйте алгоритм вычитания двух чисел, записанных в шестнадцатеричной системе счисления.
Решение оформите в виде функции string dif_hex(string n1, string n2).
На проверку сдайте только тело функции.
Сложность решения: линейная от длины входных чисел (длина чисел до 100000 знаков).
| Вызов функции | Возвращаемое значение |
|---|---|
dif_hex("100"s, "F"s) |
"F1"s |
Реализуйте вычитание в фибоначчиевой системе счисления.
Решение оформите в виде функции string dif_fib(string n1, string n2).
Гарантируется, что первое данное число не меньше второго.
На проверку сдайте только тело функции.
Сложность решения: квадрат от длины входных чисел (длина чисел до 1000 знаков).
| Вызов функции | Возвращаемое значение |
|---|---|
dif_fib("1000001"s, "10101"s) |
"10010"s |
Реализуйте алгоритм умножения длинного числа, записанного в шестнадцатеричной системе счисления, на короткое число (из одной шестнадцатеричной цифры).
Решение оформите в виде функции string mul_hex(string n1, string n2). Гарантируется,
что второй параметр состоит ровно из одной цифры.
На проверку сдайте только тело функции.
Сложность решения: линейная от длины первого числа (длина числа до 100000 знаков).
Не забудьте, что в ответе может получиться 0, который записывается строкой "0".
| Вызов функции | Возвращаемое значение |
|---|---|
mul_hex("A38"s, "D"s) |
"84D8"s |
Реализуйте алгоритм умножения двух чисел, записанных в шестнадцатеричной системе счисления.
Решение оформите в виде функции string mul_hex(string n1, string n2).
На проверку сдайте только тело функции.
Сложность решения: квадрат от длины входных чисел (длина чисел до 1000 знаков).
Запрещённые в решении приёмы:
Советы по реализации:
| Вызов функции | Возвращаемое значение |
|---|---|
mul_hex("A1"s, "7F"s) |
"4FDF"s |
В развёрнутой фибоначчиевой форме запись числа в фибоначчиевой системе счисления не содержит двух подряд идущих нулей. Для каждого числа существует единственное представление в развёрнутой фибоначчиевой форме.
Дано целое число oт \(1\) до \(2\times 10^9\). Найдите его представление в развёрнутой фибоначчиевой форме.
Решение оформите в виде функции string int2fib(int n).
На проверку сдайте только тело функции.
| Вызов функции | Возвращаемое значение |
|---|---|
int2fib(13) |
"10110"s |
Ошибка при обработке input/output_format: [Errno 2] No such file or directory: '/home/judges/problems/python/number-systems/280-karatsuba-multiplication/statement.xml'
Ошибка при обработке notes: [Errno 2] No such file or directory: '/home/judges/problems/python/number-systems/280-karatsuba-multiplication/statement.xml'
Ошибка при обработке примеров: [Errno 2] No such file or directory: '/home/judges/problems/python/number-systems/280-karatsuba-multiplication/statement.xml'