Системы счисления(36 задач)
"Длинная" арифметика(58 задач)
Простые числа и разложение на множители(45 задач)
Остатки(21 задач)
Быстрое возведение в степень(3 задач)
Быстрое преобразование Фурье(3 задач)
Дана дробь . Требуется ее сократить, то есть записать это же число в виде
, где c — целое число, d — натуральное число и d минимальное возможное.
Вводятся два целых числа a и b (–100≤a≤100, 0<b≤100).
Выведите два числа c и d.
Оценка задачи
1 балл получат программы, правильно решающие задачу для случая положительного числа a.
3 6
1 2
-2 5
-2 5
Напишите программу, находящую количество троек целых чисел a, b, p таких, что p — простое число, числа удовлетворяют равенству:
и каждое из чисел a, b и p лежит в промежутке от N до M (то есть N≤a≤ M, N≤b≤ M, N≤p≤ M).
Вводятся два целых числа N и M (0≤N≤M≤100000)
Выведите искомое количество троек чисел a, b, p.
Оценка задачи
1 балл получат программы, правильно решающие задачу при ограничениях 0≤N≤M≤N+5000.
1 8
1
5 20
1
1 7
0
Пусть a1 = 2, a2 = 3, an = a1∙a2∙...∙an-1 – 1 при n ≥ 3. Назовем числа ai псевдопростыми. Для заданного натурального числа X нужно ответить на вопрос: можно ли X однозначно представить в виде произведения псевдопростых чисел (представления, отличающиеся только порядком множителей, считаются одинаковыми), и, если можно — выдать разложение.<
Вводится одно натуральное число X, 1 < X ≤ 109.
Выведите псевдопростые числа, произведение которых равно X, в произвольном порядке. Если разложения не существует или оно не единственно, выдать 0.
Оценка задачи
1 балл будет набирать программа, верно работающая для X ≤ 100.
6
2 3
5
5
7
0
Напишите программу, вычисляющую остаток от деления заданного «длинного» числа на заданную цифру.
В первой строке задана цифра K (1≤K≤9). Во второй строке задано натуральное число N, состоящее из не более чем 100000 цифр.
Выведите остаток от деления N на K.
Примеры
Входные данные | Выходные данные |
5 123456789 | 4 |
1 123 | 0 |
Требуется заполнить N элементов массива, пронумерованных числами от 1 до N (A[1]…A[N]), натуральными числами от 2 до N+1, использовав каждое число ровно один раз, так, чтобы значение каждого элемента массива делилось бы нацело на его номер (т.е. для каждого i A[i] делилось бы на i).
Напишите программу, которая для заданного N вычислит количество способов такого заполнения массива.
Вводится одно натуральное число N (1≤N≤60000).
Выведите одно число — искомое количество способов заполнения массива.
Пример
Входные данные | Выходные данные | Комментарии |
2 | 1 | Массив можно заполнить единственным способом: 3 2 |