системы счисления.
Перевод в 10-ую с.с. Python.
Подготовила учитель информатики
МАОУ гимназии №5
г. Новороссийск
Кувватова Ольга Александровна
Перевод из любой системы счисления в 10-ую
5 4 3 2 1 0
3413568 =(6·80)+(5·81)+(3·82)+(1·83)+(4·84)+(3·85) = 11543810
«аналитический перевод» если цифр в числе много займет много времени и требует сосредоточенности и внимательности.
данный способ позволяет перевести число из любой системы счисления в 10-ую и может быть прописан в Python
5 4 3 2 1 0
341x568 =(6·80)+(5·81)+(x·82)+(1·83)+(4·84)+(3·85) = ?10
x это цифра от 0 до 7 (так как 8-ая с. с. состоит из 8 цифр (0-7). Значит можно получить 8 различных значений в 8-ой с.с. и соответственно в 10-ой.
Если мы не знаем цифру в числе другой системы счисления, но нам необходимо узнать все варианты, то мы её можем перебрать циклом с параметром, подставив вместо x значения перебора цикла for…
Перевод из любой системы счисления в 10-ую
Встроенная в Python функция int() возвращает целое число в десятичной системе счисления из другого типа данных.
int (x, base)
x - число или строка, которую можно преобразовать в целое число.
base - необязательный аргумент: число, представляющее числовой формат системы счисления (по умолчанию: 10).
Перевод из любой системы счисления в 10-ую
Ввод | Вывод | Описание |
int(42) | 42 | Если передать функции int целое число, то она вернет его же. |
int(42.658) | Если передать float вещественное (дробное) число, то оно будет округлено до целого в сторону нуля (отбрасывая дробную часть). | |
int(‘625’) | 625 | Если передать str строковое значение, содержащее цифры от 0 до 9, то оно вернет его же только в числовом формате (int) |
int(‘6a23’,19) | 42069 | Если передать str строковое значение и указать в какой системе счисления находится число в данной строке, то оно вернет его в числовом формате int десятичной системы счисления |
Перевод из любой системы счисления в 10-ую
Ввод | Вывод | Описание |
int(‘6a56’,9) | ошибка | Символы в строке несоответствуют алфавиту системы счсления в которую совершаем перевод.Ошибка «невалидный символ». |
int(‘молоко’) | Символы в строке несоответствуют алфавиту системы счсления в которую совершаем перевод.Ошибка «невалидный символ». |
Перевод из любой системы счисления в 10-ую
Ввод | Вывод | Описание |
int('452',39) | ошибка | Перевод в системы счисления выше чем 36-ая невозможен. Алфавит максимальной системы счисления в Python содержит цифры от 0 до 9 и 26 строковых символов латинского алфавита (a-z). |
Решение задач.
Подготовила учитель информатики
МАОУ гимназии №5
г. Новороссийск
Кувватова Ольга Александровна
Операнды арифметического выражения записаны в системе счисления с основанием 18:
9009x₁₈ + 2257x₁₈
В записи чисел переменной x обозначена неизвестная цифра из алфавита 18-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 15. Для найденного значения x вычислите частное от деления значения арифметического выражения на 15 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Ответ 77888
Задача 1
Задача 1 решение
Аналитический способ
Исходя из условия задачи подставляем x с помощью цикла for, которая является цифрой данных чисел и вычисляем выражение. Внимательно осознаем, что определить и дать в ответ это не одно и тоже. Дать в ответ необходимо частное (результат) от деления значения арифметического выражения на 15, а определить x.
Можем пользоваться функцией int (система счисления меньше 36-ой) при этом алфавит удобно составить самостоятельно отсортировав символы (sorted) и склеив их в строку (join).
Задача 1 решение
Способ Решения с Функцией
Операнды арифметического уравнения записаны в разных системах счисления.
3364x₁₁ + x7946₁₂ = 55x87₁₄
В записи чисел переменной x обозначена неизвестная цифра. Определите наименьшее значение x, при котором данное уравнение обращается в тождество. В ответе укажите значение правой части уравнения в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Ответ 207291
Задача 2
В данной задаче три числа представлены в различных системах счисления, но цифра x подставляется одна, логично что подставить цифру 11 (b) 12 (с) 13(d) в число в 11-ой системе счисления нельзя. Значит ориентироваться необходимо только на цифры минимальной системы счисления.
Задача 2 решение
Аналитический способ
Операнды арифметического выражения записаны в системе счисления с основанием 17.
7x589y17 + EExy9AC17
В записи чисел переменными x и y обозначена неизвестные цифры из алфавита 17-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 13 при любом значении y. Для найденного x вычислите частное от деления значения арифметического выражения на 13 при y = 3 и укажите его в ответе в десятичной системе счисления.
Ответ 28406992
Задача 3
В данной задаче два неизвестных значения x и y, которые потребуют два перебора циклов for, так же просят определить ответ зависимый от y=3. Вычисление выражений может быть прописано так же и в аналитическом виде.
Задача 3 решение
В системе счисления с некоторым основанием p выполняется равенство
71 · 57 = xy7
Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p. Запишите в ответе значение числа yxp в десятичной системе счисления. Если существует несколько вариантов решения, запишите ответ для наименьшего возможного основания p.
Задача 4
Данную задачу можно решать как с помощью функции int(), так и с помощью аналитического перевода, но так как функция int сможет дать решение только для систем счисления до 36-ой, а ответом может являтся значение системы счисления больше чем 36-ая, то проще сразу написать аналитическое решение которое даст ответ для любой системы.
Задача 4 решение
В задаче предполагается неизвестная система счисления p, которую необходимо перебрать (проанализировав значения задачи становится понятно что цифры которые в них находятся не могут находится в 7-ой и ниже системах счисления).
Задача 4 решение
Сами цифры x и y могут начинаться с 0 и до той цифры которую подразумевает система счисления в данной итерации циклом перебора for p in range, поэтому в каждой итерации цифры для этих чисел будут увеличиваться относительно системы счисления.
Так же стоит обратить внимание на вопрос задания, в котором просят дать в ответ значение числа yxp
Вычислять его так же необходимо аналитически.
Задачи для самопроверки.
Подготовила учитель информатики
МАОУ гимназии №5
г. Новороссийск
Кувватова Ольга Александровна
Задача 1
Операнды арифметического выражения записаны в системе счисления с основанием 23:
7x3859623 + 14х3623 + 61x723
В записи чисел переменной x обозначена неизвестная цифра из алфавита 23-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 22. Для найденного значения x вычислите частное от деления значения арифметического выражения на 22 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно
Задача 2
Операнды арифметического выражения записаны в системах счисления с основаниями 25 и 11.
7y23x525 + 67x9y11
В записи чисел переменными x и y обозначены допустимые в данных системах счисления неизвестные цифры. Определите значения x, y, при которых значение данного арифметического выражения кратно 131. Для найденных значений x, y вычислите частное от деления значения арифметического выражения на 131 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Задача 3
Операнды арифметического выражения записаны в системе счисления с основанием 30.
Byx6R94Ex30 + MyKGNx30
В записи чисел переменными x и y обозначена неизвестные цифры из алфавита 30-ричной системы счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 10 при любом значении y. Для найденного x вычислите частное от деления значения арифметического выражения на 10 при y = 4 и укажите его в ответе в десятичной системе счисления.
Задача 4
Операнды арифметического выражения записаны в системе счисления с основанием 68:
123x568 + 1x23368
В записи чисел переменной x обозначена неизвестная цифра из алфавита 68-ричной системы счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 12. Для найденного значения x вычислите частное от деления значения арифметического выражения на 12 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Задача 5
В системе счисления с некоторым основанием p выполняется равенство
34 · 56 = xy2
Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p. Запишите в ответе значение числа yxp в десятичной системе счисления. Если существует несколько вариантов решения, запишите ответ для наименьшего возможного основания p.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.