Темы --> Информатика --> Алгоритмы --> Арифметические алгоритмы --> Простые числа и разложение на множители
---> 4 задач <---
Источники --> Командные олимпиады --> Московская командная олимпиада
    8 класс(18 задач)
    9-11 классы(228 задач)
Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Напишите программу, находящую количество троек целых чисел a, b, p таких, что p — простое число, числа удовлетворяют равенству:

3

и каждое из чисел a, b и p лежит в промежутке от N до M (то есть Na M, Nb M, Np M).

Входные данные

Вводятся два целых числа N и M (0NM100000)

Выходные данные

Выведите искомое количество троек чисел a, b, p.

Оценка задачи

1 балл получат программы, правильно решающие задачу при ограничениях 0NMN+5000.

Примеры
Входные данные
1 8
Выходные данные
1
Входные данные
5 20
Выходные данные
1
Входные данные
1 7
Выходные данные
0
ограничение по времени на тест
4.0 second;
ограничение по памяти на тест
64 megabytes

Пусть a1 = 2, a2 = 3, an = a1a2...an-1 – 1 при n ≥ 3. Назовем числа ai псевдопростыми. Для заданного натурального числа X нужно ответить на вопрос: можно ли X однозначно представить в виде произведения псевдопростых чисел (представления, отличающиеся только порядком множителей, считаются одинаковыми), и, если можно — выдать разложение.<

Входные данные

Вводится одно натуральное число X, 1 < X ≤ 109.

Выходные данные

Выведите псевдопростые числа, произведение которых равно X, в произвольном порядке. Если разложения не существует или оно не единственно, выдать 0.

Оценка задачи

1 балл будет набирать программа, верно работающая для X ≤ 100.

Примеры
Входные данные
6
Выходные данные
2 3 
Входные данные
5
Выходные данные
5 
Входные данные
7
Выходные данные
0
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Требуется заполнить N элементов массива, пронумерованных числами от 1 до N (A[1]…A[N]), натуральными числами от 2 до N+1, использовав каждое число ровно один раз, так, чтобы значение каждого элемента массива делилось бы нацело на его номер (т.е. для каждого i A[i] делилось бы на i).

Напишите программу, которая для заданного N вычислит количество способов такого заполнения массива.

Входные данные

Вводится одно натуральное число N (1≤N≤60000).

Выходные данные

Выведите одно число — искомое количество способов заполнения массива.

Пример

Входные данные

Выходные данные

Комментарии

2

1

Массив можно заполнить единственным способом:

3 2

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

У калькулятора есть две ячейки памяти: содержимое первой из них всегда отображается на табло, вторая является буфером. В начальный момент времени на табло калькулятора отображается целое число X, а в буфере записано число 0. У калькулятора работают только две клавиши: «+» и «=». При нажатии на «+» число, которое в данный момент отображено на табло, копируется в буфер. При нажатии на «=» число из буфера прибавляется к числу, отображенному на табло и результат отображается на табло, число в буфере при этом не меняется.

Требуется за наименьшее число нажатий клавиш на калькуляторе добиться того, чтобы на табло было отображено число Y.

Входные данные

Входной файл содержит два целых числа X и Y. Каждое из этих чисел по модулю не превышает 109.

Выходные данные

В первую строку выходного файла выведите одно число — количество нажатий клавиш, которое потребуется для получения числа Y. Если из числа X получить число Y с помощью указанных операций невозможно, в выходной файл выведите одно число –1.

Примеры
Входные данные
-1 -8
Выходные данные
6
Входные данные
2 16
Выходные данные
6
Входные данные
0 0
Выходные данные
0

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест