Условие задачи | | Прогресс |
Темы:
Разные системы счисления
Дано натуральное число N . Необходимо найти максимальную цифру данного числа при его записи в восьмеричной системе счисления.
Входные данные
На вход подается натуральное число N (\(N<=255\)).
Выходные данные
Выведите на экран ответ на задачу.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
255 |
7 |
| |
|
Темы:
Разные системы счисления
Задано натуральное число n . Необходимо перевести его в k -ичную систему счисления и найти разность между произведением и суммой его цифр в этой системе счисления.
Например, пусть \(n = 239\), \(k = 8\). Тогда представление числа n в восьмеричной системе счисления — \(357\), а ответ на задачу равен \(3 \cdot 5 \cdot 7 ? (3 + 5 + 7) = 90\).
Входные данные
Строка содержит два натуральных числа: n и k (\(1 <= n <= 10^9\), \(2 <= k <= 10\)). Оба этих числа заданы в десятичной системе счисления.
Выходные данные
Выведите ответ на задачу (в десятичной системе счисления).
Примеры
№ |
Входные данные |
Выходные данные |
1 |
239 8 |
90 |
2 |
1000000000 7 |
-34 |
| |
|
Темы:
Разные системы счисления
Как, вы не можете запомнить 6 или 7-значный номер телефона, появившийся на секунду на экране телевизора?! С помощью специальной методики, описываемой далее, Вы превратитесь в ходячий телефонный справочник!
Очевидно, что число 402 запомнить легче, чем число 110010010, а число 337377 запомнить легче, чем число 957472. Значит, нужно чтобы запоминаемое число, с одной стороны, содержало как можно меньше цифр, а с другой стороны, желательно, чтобы в числе было как можно больше повторяющихся цифр. В качестве критерия сложности запоминания примем сумму количества цифр в числе и количества различных цифр в числе. Запоминаемое число можно записать в другой системе счисления, возможно, тогда его окажется легче запомнить. Например, число 65535 в шестнадцатеричной системе исчисления выглядит как FFFF.
Напишите программу подбора основания системы счисления для минимизации критерия сложности. Основание системы счисления нужно выбирать в диапазоне от 2 до 36, тогда для представления числа можно использовать цифры 0-9 и английские буквы A-Z.
Входные данные
Первая строка содержит в первой строке целое число n (\(1 <= n <= 100\)). Далее следует n строк, каждая строка содержит целое число от 1 до 999999999 .
Выходные данные
Ответ должен содержать n строк. Для каждого из n заданных чисел строка содержит: основание системы счисления (от 2 до 36), минимизирующее критерий сложности запоминания, и число в выбранной системе исчисления, разделенные одним пробелом. Если несколько оснований дают одинаковое значение критерия, то выбрать наименьшее среди них.
Пример
№ |
Входные данные |
Выходные данные |
1 |
2
2
65535
|
3 2
16 FFFF
|
| |
|
Темы:
Разные системы счисления
Несмотря на кризис, компания Soft-Soft работает успешно. Директор компании принял решение выплатить сотрудникам премии. На следующий день был обнародован список счастливчиков. Чтобы не разглашать размер выплат, в списке напротив фамилий красовались странные цифры и даже буквы. Сотрудники быстро догадались, что размер премий записан в различных системах счисления. Но где и какая система счисления используется, сообразила только секретарша Танечка, которая вспомнила, что директор просил ее принести информацию о возрасте сотрудников. Она поняла, что директор отбрасывал десятки из числа, указывающего возраст, а к оставшимся единицам добавлял число 2. Полученное значение служило основанием для представления начисленной премии.
Помогите любопытной Танечке узнать размер премий в десятичной системе счисления. Известно, что размер премий не превышает 100000 рублей в десятичной системе счисления.
Входные данные
В первой строке записаны два целых числа N и K – возраст и размер премии, разделенные пробелом. Возраст не превышает 100, размер премии указан в некоторой системе счисления (запись числа не содержит незначащих нулей, использует арабские цифры и заглавные английские буквы).
Выходные данные
Выведите одно число – размер премии в десятичной системе счисления.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
28 2800 |
2800 |
2 |
30 101 |
5 |
| |
|
Темы:
Разные системы счисления
Пусть x – целое положительное число, а k – натуральное число от 1 до 10. Пусть s(x, k) равно сумме цифр числа x , представленного в системе счисления по основанию k .
Задано n чисел a1 , a2 , ... , an . Необходимо вычислить последовательность bi по формуле \(b_i = s(a_i, k_1) \cdot s(a_i, k_2)\). После этого отсортировать последовательность bi по неубыванию.
Входные данные
Первая строка содержит три целых числа: n , k1 , k2 (\(1 <= n <= 1000\), \(2 <= k_1, k_2 <= 10\)). Вторая строка содержит n целых чисел: ai (\(1 <= a_i <= 10^9\)).
Выходные данные
В ответе выведите n чисел – bi в требуемом порядке.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
9 10 10
1 2 3 4 5 6 7 9 8
|
1 4 9 16 25 36 49 64 81 |
2 |
10 2 2
1 2 4 8 16 32 64 128 256 512
|
1 1 1 1 1 1 1 1 1 1 |
| |
|
Темы:
Разные системы счисления
Маленькому Арсению на кружке по системам счисления задали следующую задачу: перевести число X в системе счисления s1 в систему счисления s2 . Недолго думая, он позвал на помощь своего лучшего друга Добрыню, который славился тем, что замечательно умел считать до 10 на пальцах. После нескольких бессонных ночей ребята общими усилиями справились с задачей.
Однако, на следующем занятии Арсению задали похожую задачу, где X , к сожалению, превышало 10. Тогда ребята решили обратиться в Летнюю Компьютерную Школу с просьбой написать универсальную программу, которая решает задачу для любых X , s1 и s2 . Ваша цель – выполнить просьбу Арсения и Добрыни.
Входные данные
Во входных данных вашей программе дается 3 числа: исходное число X , основания систем счисления s1 и s2 (\(2 <= s1,\ s2 <= 10\)). Число X в десятичной системе счисления не превышает \(2 \cdot 10^9\).
Выходные данные
В выходных данных должно находиться одно число, равное числу X в системе счисления s2 , или -1 , если входные данные некорректны.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
101 2 10 |
5 |
2 |
200 2 10 |
-1 |
| |
|
Темы:
Разные системы счисления
На Марсе используют систему счисления с основанием k . В отличие от привычной нам десятичной системы счисления, в этой системе счисления k цифр со значениями от 0 до k - 1 , а вес цифры в i -м разряде равен ki .
Например, пусть k = 8 . Запись 3578 означает число 3·8 2 + 5·8 + 7 , в более привычной землянам десятичной системе счисления это число записывается как 23910 . А число 19210 , в системе счисления с основанием 8 записывается как 3008 .
Ильдар — юный марсианин, и он очень любит круглые числа. Ильдар называет число достаточно круглым , если его запись в системе счисления с основанием k заканчивается хотя бы на n нулей. Сегодня Ильдар хочет найти i -е по порядку достаточно круглое число.
Помогите Ильдару, найдите i -е достаточно круглое в системе счисления с основанием k натуральное число и выведите его в десятичной системе счисления. Ильдар очень дружелюбен и гарантирует, что ответ в десятичной системе счисления не превосходит 1018 .
Входные данные
Все ограничения на числа в этой задаче заданы в десятичной системе счисления. Все числа во вводе также записаны в десятичной системе счисления.
Первая строка входных данных содержит число k — основание системы счисления, которую использует Ильдар ( 2 ≤ k ≤ 109 ).
Вторая строка входных данных содержит число n — минимальное количество нулей на конце достаточно круглого числа ( 0 ≤ n ≤ 100 ).
Третья строка входных данных содержит число i — порядковый номер достаточно круглого числа, которое интересует Ильдара ( 1 ≤ i ≤ 109 ).
Выходные данные
Выведите одно число — запись в десятичной счистеме счисления i -го по порядку достаточно круглого в системе счисления с основанием k натурального числа. Гарантируется, что ответ не превышает 1018 .
Обратите внимание, что ответ может не поместиться в стандартный 32-битный тип данных. Надо использовать 64-битный тип, в паскале он называется « int64 », в C++ « long long », в Java « long ». Если вы пишете на языке Python, то волноваться не надо, в Python встроенный целочисленный тип не имеет ограничений на величину числа.
№ |
Входные данные |
Выходные данные |
1 |
8
2
2 |
192 |
| |
|
Темы:
Разные системы счисления
Напишите программу, переводящую число из двоичной системы счисления в шестнадцатеричную
Входные данные
Программа получает на вход строку, состоящую из нулей и единиц, длина которой не превосходит 4000 символов. Первый символ строки всегда единица. Данная строка является двоичной записью некоторого числа.
Выходные данные
Необходимо записать в шестнадцатеричном виде и вывести данное число с использованием цифр 0, ..., 9 и букв A, ..., F без лидирующих нулей.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
10100 |
14 |
| |
|
ID 39625.
XOR
Темы:
Системы счисления
Разные системы счисления
Исключающим "или" (XOR) называется булева функция, а также логическая и битовая операция от двух аргументов, результат которой истинен тогда и только тогда, когда один из аргументов истинен, а второй - ложен.
Циклический побитовый сдвиг вправо - операция, при которой младший разряд переносится в начало числа и становится старшим, а все остальные сдвигаются вправо на одну позицию.
К двум 16-битовым числам A и B, записанным в 16-ричной системе счисления, была применена операция исключающего "или", а затем к результату - операция побитового циклического сдвига вправо на K разрядов. Одно из двух исходных чисел было забыто, требуется его восстановить.
Входные данные
в строку через пробел записаны числа A, K и результат X. Числа A и X заданы в 16-ричной системе счисления, K - в десятичной.
Выходные данные
число B.
Примеры
№ |
Входные данные |
Выходные данные |
1 |
1A2B 4 4E5D |
FFFF |
2 |
AB00 1 5C9A |
1234 |
| |
|
Темы:
Разные системы счисления
Вещественные числа
Для заданного в 10-й с/с дробного числа требуется определить разницу длин целой и дробной части этого числа в 5-й с/с при переводе с точностью до 8 разрядов.
Входные данные
положительное число в 10-й с/с, целая и дробная часть которого не превышают 8 разрядов каждая. Целая и дробная части разделяются точкой. Дробная часть может отсутствовать.
Выходные данные
неотрицательное целое число - разница между количеством разрядов целой и дробной части в пятеричной системе счисления.
Примеры
№ |
Входные данные |
Выходные данные |
Примечание |
1 |
8.4 |
1 |
8.410=13.25, количество разрядов целой части на 1
больше, чем дробной |
2 |
1.5 |
7 |
1.510=1.(2)5=1.222222225, в 5-й с/с дробь не имеет
конечного представления, поэтому ограничиваем длину
8 дробными разрядами |
| |
|
Темы:
Разные системы счисления
Сортировка подсчетом
После четвёртого сезона Шерлок и Мориарти осознали бессмысленность баталии, развернувшейся между ними, и решили дальше соревноваться в мирную игру “Банковские карты”.
Правила у этой игры предельно просты: каждый игрок приносит свою любимую банковскую карту с \(n\)-значным номером. Далее оба игрока по очереди называют последовательные цифры из банковской карты. Если цифры не совпадают, то участник, цифра которого оказывается меньше, получает щелбан от другого игрока. Например, если \(n=3\) и у Шерлока номер карты \(123\), а у Мориарти \(321\), то сначала Шерлок называет число \(1\), а Мориарти называет число \(3\) и Шерлок получает щелбан. Затем и Шерлок и Мориарти называют число \(2\), и щелбан не получает никто. Наконец на третьем шаге, Шерлок называет \(3\), а Мориарти называет \(1\) и получает щелбан.
Шерлок, конечно, будет играть честно, но Мориарти, как настоящий злодей, подсмотрел номер карты Шерлока и теперь хочет называть цифры своей банковской карты не последовательно, а в некотором другом порядке (однако количество каждой из цифр он не изменяет). Например в случае выше, Мориарти мог бы назвать цифры в последовательности \(3\), \(2\), \(1\) и не получил бы щелбанов вообще, а мог назвать \(2\), \(3\) и \(1\) и выдать Шерлоку целых два щелбана.
Вам поручено вычислить, какое минимальное количество щелбанов Мориарти точно получит и какое максимальное число Мориарти может дать Шерлоку. Обратите внимание, что это две разные цели, и они могут достигаться при использовании разных порядков.
Формат входных данных
В первой строке находится одно целое число \(n\) (\(1 \leqslant n \leqslant 1000\)) — количество цифр в банковских картах Шерлока и Мориарти.
Во второй строке записана последовательность из \(n\) цифр — номер кредитной карточки Шерлока.
В третьей строке записана последовательность из \(n\) цифр — номер кредитной карточки Мориарти.
Формат выходных данных
В первой строке выведите одно число — минимальное число щелбанов, которое обязательно получит Мориарти.
Во второй строке выведите так же одно число — максимальное число щелбанов, которое Мориарти может дать Шерлоку.
Замечание
Первый примерс овпадает с примером разобранным в условии задачи. Во втором примере Мориарти никак не сможет избежать двух щелбанов
В данной задаче 50 тестов, помимо тестов из условия, каждый из них оценивается в 2 балла. Результаты работы ваших решений на первых 30 тестах будут доступны во время соревнования. Результаты работы на остальных 20 будут доступны после окончания соревнования.
Решения, корректно работающие при \(1 \leq n \leq 3\), наберёт не менее \(10\) баллов.
Решения, корректно работающие при \(1 \leq n \leq 8\), наберет не менее \(30\) баллов.
| |
|
Темы:
Разные системы счисления
Сортировка подсчетом
Банк «Кисловодск» переходит на новый вид банковских карт. Для этого производятся одинаковые заготовки, на которых есть специальное место для идентификации клиента. Изначально на этом месте записывается кодовое число X . В банке с помощью специального прибора можно стирать некоторые цифры числа X . Оставшиеся цифры, будучи записанными подряд, должны образовывать номер счета клиента. Например, при X = 12013456789 номера счетов 5, 12, 17 или 12013456789 получить можно, а номера 22 или 71 получить нельзя.
Способ распределения номеров счетов в банке очень прост. Счетам присваиваются последовательно номера 1, 2, … Очевидно, что при таком способе в какой-то момент впервые найдется номер счета N, который нельзя будет получить из цифр X указанным выше способом. Руководство банка хочет знать значение N .
Напишите программу, которая находила бы N по заданному X .
Формат входных данных
Вводится натуральное число X без ведущих нулей (1 ≤ X ≤ 101000 ).
Формат выходных данных
Выведите искомое N без ведущих нулей.
| |
|
Темы:
Простые числа и разложение на множители
Разные системы счисления
В 3141 году очередная экспедиция на Марс обнаружила в одной из пещер таинственные знаки. Они однозначно доказывали существование на Марсе разумных существ. Однако смысл этих таинственных знаков долгое время оставался неизвестным. Недавно один из ученых, профессор Очень-Умный, заметил один интересный факт: всего в надписях, составленных из этих знаков, встречается ровно K
различных символов. Более того, все надписи заканчиваются на длинную последовательность одних и тех же символов.
Вывод, который сделал из своих наблюдений профессор, потряс всех ученых Земли. Он предположил, что эти надписи являются записями факториалов различных натуральных чисел в системе счисления с основанием K. А символы в конце - это конечно же нули - ведь, как известно, факториалы больших чисел заканчиваются большим количеством нулей. Например, в нашей десятичной системе счисления факториалы заканчиваются на нули, начиная с 5!=1·2·3·4·5 . А у числа 100! в конце следует 24 нуля в десятичной системе счисления и 48 нулей в системе счисления с основанием 6 - так что у предположения профессора есть разумные основания!
Теперь ученым срочно нужна программа, которая по заданным числам N и K найдет количество нулей в конце записи в системе счисления с основанием K числа N!=1·2·3·...·(N-1)·N, чтобы они могли проверить свою гипотезу. Вам придется написать им такую программу!
Входные данные
В первой строке входных данных содержатся числа N и K, разделенные пробелом, (1 <= N <= 109, 2 <= K <= 1000).
Выходные данные
Выведите число X - количество нулей в конце записи числа N! в системе счисления с основанием K.
| |
|
Темы:
Разные системы счисления
Напишите программу, переводящую число из шестнадцатеричной системы счисления в двоичную.
Входные данные
Программа получает на вход строку, состоящую из цифр 0, ..., 9 и букв A, ..., F, являющуюся записью некоторого 16-ричного целого числа. Длина строки не превосходит 50 символов, первый символ в строке не равен 0. Необходимо вывести запись этого числа в двоичном виде без лидирующих нулей.
Выходные данные
Выведите результат перевода.
| |
|
Темы:
Разные системы счисления
Напишите программу, переводящую запись числа между двумя произвольными системами счисления.
Входные данные
На вход программа получает три величины: n, A, k, где n и k — натуральные числа от 2 до 36, основания системы счисления, A — число, записанное в системе счисления с основанием n, A<231.
Выходные данные
Необходимо вывести значение A в системе счисления с основанием k без лидирующих нулей.
Цифры записываются следующими символами: 0, 1, 2, ..., 9, A, B, C, ..., Z.
| |
|