PASCAL. String task. Create a program that converts an integer N (1 ≤ |N| < 10^9) from a number system with base K
PASCAL. String task. Create a program that converts an integer N (1 ≤ |N| < 10^9) from a number system with base K (2 ≤ K ≤ 36) to a number system with base M (2 ≤ M ≤ 36). Input data The first input line contains the representation of the number N in the number system with base K. The second line contains the numbers K and M, separated by a space. Output data The program should output the representation of the number N in the number system with base M. Example: Input AB 16 8 Output 253 Input -253 8 16 Output -AB Input 1031343142212 5 7 Output 6601563462
07.12.2023 19:40
Пояснение:
Преобразование числа из одной системы счисления в другую можно выполнить, используя алгоритм полного перевода числа. Для этого нужно выполнить следующие шаги:
1. Прочитайте число N в системе счисления с базой K.
2. Прочитайте числа K и M, разделенные пробелом.
3. Преобразуйте число N из системы счисления с базой K в десятичное число.
4. Преобразуйте десятичное число в систему счисления с базой M.
5. Выведите результат.
Чтобы преобразовать число N из системы счисления с базой K в десятичное число, можно использовать следующую формулу:
N_decimal = a_0 * K^0 + a_1 * K^1 + a_2 * K^2 + ... + a_n * K^n,
где a_i - это i-ый символ числа N, преобразованный в десятичное число.
Чтобы преобразовать десятичное число в систему счисления с базой M, можно использовать алгоритм деления с остатком.
Пример:
Входные данные:
AB 16 8
Выходные данные:
253
Совет:
Чтобы лучше понять алгоритм преобразования числа из одной системы счисления в другую, можно проработать несколько примеров вручную, выполнив каждый шаг алгоритма пошагово.
Дополнительное задание:
Преобразуйте число -101 2 8 из двоичной системы счисления в восьмеричную.