Системы счисления(36 задач)
"Длинная" арифметика(58 задач)
Простые числа и разложение на множители(45 задач)
Остатки(21 задач)
Быстрое возведение в степень(3 задач)
Быстрое преобразование Фурье(3 задач)
Кроме слежки за офисом из окна своего дома, летом Вася читал книжку. Чтобы читать было не так скучно, он попутно считал количество цифр, требуемых для нумерации всех страниц в книге. В результате получилось \(N\) цифр.
Вася помнит, что на первых трех страницах книги номера не стоят, а пронумерованные страницы начинаются с 4-й (при этом на этой 4-й странице стоит номер 4, на следующей — 5, и так далее).
Теперь Вася задается вопросом, сколько же всего страниц было в прочтённой им книжке.
Вводится одно натуральное число \(N\) (\(1 ≤ N ≤ 10000\)) — количество цифр, которое потребовалось для нумерации страниц книги.
Выведите количество страниц в книге. Гарантируется, что Вася не ошибся в подсчетах, и ответ всегда существует.
1
4
2
5
3
6
10
11
Некоторые банки выпускают банковские карты, которые могут использоваться для оплаты проезда в метро. При проходе через турникеты по этой карте каждый проход фиксируется, подсчитывается количество проходов за календарный месяц и раз в месяц с карточки списываются деньги в соответствии с тем, сколько было сделано проходов по специальным тарифам (приведены тарифы по состоянию на 15.10.2009):
Кол-во поездок | Стоимость (руб.) | Кол-во поездок | Стоимость (руб.) | Кол-во поездок | Стоимость (руб.) | Кол-во поездок | Стоимость (руб.) |
---|---|---|---|---|---|---|---|
1 | 22 | 19 | 362 | 37 | 586.13 | 55 | 804.38 |
2 | 44 | 20 | 380 | 38 | 598.25 | 56 | 816.5 |
3 | 64.33 | 21 | 392.13 | 39 | 610.38 | 57 | 828.63 |
4 | 84.67 | 22 | 404.25 | 40 | 622.5 | 58 | 840.75 |
5 | 105 | 23 | 416.38 | 41 | 634.63 | 59 | 852.88 |
6 | 124 | 24 | 428.5 | 42 | 646.75 | 60 | 865 |
7 | 143 | 25 | 440.63 | 43 | 658.88 | 61 | 863.5 |
8 | 162 | 26 | 452.75 | 44 | 671 | 62 | 862 |
9 | 181 | 27 | 464.88 | 45 | 683.13 | 63 | 860.5 |
10 | 200 | 28 | 477 | 46 | 695.25 | 64 | 859 |
11 | 218 | 29 | 489.13 | 47 | 707.38 | 65 | 857.5 |
12 | 236 | 30 | 501.25 | 48 | 719.5 | 66 | 856 |
13 | 254 | 31 | 513.38 | 49 | 731.63 | 67 | 854.5 |
14 | 272 | 32 | 525.5 | 50 | 743.75 | 68 | 853 |
15 | 290 | 33 | 537.63 | 51 | 755.88 | 69 | 851.5 |
16 | 308 | 34 | 549.75 | 52 | 768 | 70 | 850 |
17 | 326 | 35 | 561.88 | 53 | 780.13 | ||
18 | 344 | 36 | 574 | 54 | 792.25 |
Родители завели двум братьям Пете и Васе по такой карточке. Петя и Вася иногда ездят вместе, а иногда - порознь. Естественно, когда они едут не вместе, то каждый из них пользуется своей карточкой. Когда же они едут вместе, они могут как воспользоваться каждый своей карточкой, так и оба пройти по одной из карточек (совершив два прохода по этой карточке).
Кроме того, они заметили, что в некоторых случаях бывает выгодно совершать лишние проходы по карточке (например, если по карточке за месяц совершено 69 проходов, то надо сделать 70-й - списанная сумма в этом случае окажется меньше).
Известно, что в наступающем месяце Вася собирается сделать A самостоятельных поездок, Петя - B самостоятельных поездок, и еще С поездок они сделают вместе (то есть всего они сделают A+B+2C проходов через турникеты). Напишите программу, которая по заданным числам A, B и C определит минимальную сумму, которую они могут потратить (с учетом банковских комиссий, при необходимости совершив лишние проходы через турникеты).
Вводятся целые числа \(A\), \(B\), \(C\) (каждое из них из диапазона от 0 до 1000).
Выведите, сколько рублей будет списано суммарно с Васиной и Петиной карточек. Результат должен быть выведен с двумя знаками после десятичной точки.
1 1 0
64.00
59 0 0
860.00
10 10 10
721.25
0 0 30
860.00
Вася продолжает изобретать последовательности. Сегодня в школе его познакомили с операцией возведения в степень, и Вася придумал новую последовательность.
Сначала он пишет на доске натуральное число \(A\). Каждое следующее число, выписанное им на доске, будет равно степени с основанием \(A\) и показателем, равным предыдущему числу. Другими словами, последовательность будет выглядеть так:
\(x[1] = A\),
\(x[k + 1] = A^{x[k]}\), \(k\) > 0
После этого он решил узнать элемент этой последовательности с минимальным номером, который бы делился на данное число \(N\). Поскольку числа на доске могут быть довольно большими, без вашей помощи ему не обойтись.
Вводятся два натуральных числа \(A\), \(N\) (\(1\) ≤ \(A\) ≤ \(10^9\), \(1\) ≤ \(N\) ≤ \(10^9\)).
Если ни один элемент последовательности не делится на \(N\), выведите 0. Иначе выведите минимальный номер элемента рассмотренной последовательности, делящегося на \(N\).
2 2
1
2 4
2
Самолёт вылетает из города А в \(h_1\) часов \(m_1\) минут по местному времени города А и прилетает в город Б в \(h_2\) часа \(m_2\) минуты (по местному времени города Б). Из города Б он вылетает в \(h_3\) часа \(m_3\) минуты (по местному времени города Б, возможно в другие сутки) и прилетает в город А в \(h_4\) часа \(m_4\) минуты (по местному времени города А). При этом полёт в обе стороны продолжается одно и то же время. Сколько длится полет в одну сторону? Ответ нужно вывести в часах и минутах, округлив его при необходимости до целого числа минут в большую сторону.
В каждой из четырех строк в формате hh:mm записаны времена вылета и прилета в том порядке, в котором они перечислены в условии; 0 ≤ \(h_j\) < 24, 0 ≤ \(m_j\) < 60.
Выведите время полёта в том же формате hh:mm. Если ответов несколько, выведите минимальный.
08:00 10:00 12:00 18:00
04:00
00:00 00:00 23:59 01:30
00:46
В одной театральной кассе есть в продаже билеты любой стоимости, выражающейся натуральным числом. При покупке билетов по цене за билет от A до B рублей включительно нужно дополнительно оплатить сервисный сбор в размере C процентов от номинальной стоимости билетов (сервисный сбор не обязательно выражается целым числом рублей, но всегда выражается целым числом копеек). При покупке билетов стоимостью менее A рублей за билет, а также более B рублей за билет, сервисный сбор не берется.
У вас есть X рублей и вам нужно K билетов одинаковой цены (цена обязательно должна выражаться натуральным числом рублей, 0 не считается натуральным). Билеты какого самого дорогого номинала вы можете себе позволить?
Вводятся целые A, B, C, X, K (1 ≤ A ≤ B ≤ 109, 0 ≤ C ≤ 1000, 0 ≤ X ≤ 109, 1 ≤ K ≤ 100000).
Если на имеющиеся деньги невозможно приобрести ни одного билета, выведите 0. Иначе выведите натуральное число – номинальную стоимость приобретённых билетов.
Подзадача 1. Все числа \(\le100\) - 50 баллов.
Подзадача 2. Без дополнительных ограничений - 50 баллов.
1 10 0 5 5
1
10 100 50 50 5
9
10 100 50 100 5
13