ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.10.2023
Просмотров: 263
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
B: Бинарный алгоритм ЕвклидаВ бинарном алгоритме Евклида не используются операции деления и остатка, а используется только проверка на чётность и деление на 2. Идея бинарного алгоритма Евклида следующая:НОД(a,b)=2НОД(a/2,b/2), если a и b четные,НОД(a,b)=НОД(a/2,b), если a четное, b нечетное,НОД(a,b)=НОД(a,b/2), если a нечетное, b четное,НОД(a,b)=НОД(a−b,b), если a и b нечетные, a≥b.Реализуйте бинарный алгоритм Евклида для вычисления НОД двух чисел.
C: Гипотеза ГольдбахаГипотеза Гольдбаха (недоказанная до сих пор) утверждает, что любое четное число (кроме 2) можно представить в виде суммы двух простых чисел. Дано натуральное четное число, большее 2, выведите два простых числа, дающих в сумме данное.
D: Разложение на множителиДано натуральное число N>1. Постройте его разложение на простые множители. Решение должно быть оформлено в виде функции Factor(n), возвращающей список делителей числа в порядке неубывания. Основная программа должна вызывать функцию Factor и выводить возвращенный список функцией print.
E: Сумма двух дробейДаны две дроби a/b и c/d (числа a и c — целые, b и d — натуральные). Вычислите их сумму и запишите ее в виде смешанной дроби xyz (число x целое, числа y и z натуральные, дробь y/z — правильная несократимая).Программа получает на вход четыре числа a, b, c, d и должна вывести ответ в виде смешанной дроби. Если целая часть смешанной дроби равна 0, ее выводить не надо. Если дробная часть смешанной дроби равна 0, ее выводить не надо. Если число отрицательное, то перед ним выводится знак “-”. Следуйте формату вывода, приведенному в примерах.
F: ОтрезокНа клетчатой бумаге нарисовали отрезок из точки с координатами (a,b) в точку с координатами (c,d). Через сколько клеток проходит этот отрезок (считается, что отрезок проходит через клетку, если он проходит через ее внутренность, если же он проходит только через вершину или по границе клетки, считается, что он не проходит через клетку).Программа получает на вход четыре числа: a, b, c, d.
G: Расширенный алгоритм ЕвклидаДаны два натуральных числа a и b. Найдите их наибольший общий делитель d и два таких целых числа x и y, что ax+by=d. Программа должна вывести числа d, x, y.
H: Упорядоченные дробиВыведите в порядке возрастания все несократимые дроби, заключённые между 0 и 1, знаменатели которых не превышают N.Программа получает на вход целое число N≤20 и выводит одну дробь в каждой строке.
I: Делители Дано натуральное число n≤1000. Подсчитайте количество таких пар чисел (a,b), что:
J: Обратный элементПусть дано числа a и n. Обратным элементом к числу a в кольце вычетов по модулю n называется такое число b, что ab≡1(modn), то есть ab дает остаток 1 при делении на n.Даны числа a и n. Выведите значение обратного элемента к числу a в кольце вычетов по модулю n. Если обратного элемента не существует, выведите число 0.
K: Диофантово уравнениеДаны натуральные числа a, b, c. Если уравнение ax+by=c имеет решения в целых числах, то выберите то решение, в котором число x имеет наименьшее неотрицательное значение и выведите это решение (два числа x и y через один пробел). Если решения не существует, то выведите слово Impossible.Сложность алгоритма должна быть равна сложности алгоритма Евклида + константа.
L: Исполнитель “Водолей”У исполнителя “Водолей” есть два сосуда, первый объемом A литров, второй объемом B литров, а также кран с водой. Водолей может выполнять следующие операции:
M: Решето ЭратосфенаОпределите N = 100000 и создайте массив [True] * (N + 1). Заполните его значениями так, чтобы IsPrime[i] == True, если i — простое число и IsPrime[i] == False, еслиi — составное.Для этого сначала заполняем массив True. Затем “вычеркиваем” (то есть помечаем нулями) те элементы, которые делятся на 2, начиная с 4. Затем вычеркиваем те элементы, которые делятся на 3, начиная с 9.
N: Сумма двух квадратовДано натуральное число N. Определите, можно ли его представить в виде суммы двух точных натуральных квадратов.Если число N представимо в виде суммы двух натуральных квадратов, выведите два натуральных числа a и b таких, что a2+b2=N, иначе выведите строку Impossible.Решение должно иметь сложность O(n−√).
O: Теорема ЛагранжаТеорема Лагранжа утверждает, что любое натуральное число можно представить в виде суммы не более, чем четырех точных квадратов. По данному числy N выведите от 1 до 4 натуральных чисел, квадраты которых в сумме дают значение N.
P: Количество целочисленных точек в кругеДано натуральное число R≤105. Определите количество целочисленных точек, находящихся внутри и на границе круга радиуса R с центром в начале координат.Ограничение по времени на решение — 1 секунда, сложность алгоритма должна быть O(R).
Q: Числовые функцииКоличество всех натуральных делителей натурального числа n обозначается τ(n). Сумма всех натуральных делителей числа n обозначается σ(n).Дано натуральное
n≤109. Вычислите τ(n) и σ(n).Сложность алгоритма должна быть O(n−√).
R: Дружественные числаДва числа n и m называются дружественными, если сумма делителей числа n (включая 1, но исключая само n) равна числу m и наоборот. Например, 220 и 284 – дружественные числа.По данному числу k выведите все пары дружественных чисел, каждое из которых не превосходит k. Пары необходимо выводить по одной в строке, разделяя числа в паре пробелом. Каждая пара должна быть выведена только один раз (перестановка чисел новую пару не дает).
S: Выдача сдачиИмеется неограниченное количество монет в 1, 2, 5, 10 рублей. Определите, сколькими способами можно выдать сдачу в n рублей. Например, 5 рублей можно выдать четырьмя способами: 5=2+2+1=2+1+1+1=1+1+1+1+1.Программа получает на вход число n, не превышающее 100.
T: Фи-функция ЭйлераДано натуральное число n≤109, определите количество натуральных чисел, меньших n и взаимно простых с n. Это число обозначается φ(n) и называется фи-функцией Эйлера.Сложность алгоритма должна быть O(n−√).
U: Разложение на четнопростыеВ этой задаче рассматриваются только четные целые числа.Четное натуральное число n будем называть четнопростым числом, если его нельзя представить в виде произведения двух четных чисел. Например, числа 2 и 6 — четнопростые.Очевидно, что каждое число либо является четнопростым, либо разлагается в произведение четнопростых. Но такое разложение на четнопростые не всегда единственно.Дано четное натуральное n≤109. Если это число — четнопростое, выведите слово prime. Если это число единственным образом
| Ввод | Вывод |
| 12 33 | 3 |
| Ввод | Вывод |
| 4 | 2 2 |
| Ввод | Вывод |
| 132 | [2, 2, 3, 11] |
| 2 | [2] |
| Ввод | Вывод |
| 1 2 1 3 | 5/6 |
| 1 2 2 3 | 1 1/6 |
| 3 2 2 4 | 2 |
| 2 1 -4 2 | 0 |
| -1 2 -1 3 | -5/6 |
| -1 2 -2 3 | -1 1/6 |
| 3 10 -1 10 | 1/5 |
F: ОтрезокНа клетчатой бумаге нарисовали отрезок из точки с координатами (a,b) в точку с координатами (c,d). Через сколько клеток проходит этот отрезок (считается, что отрезок проходит через клетку, если он проходит через ее внутренность, если же он проходит только через вершину или по границе клетки, считается, что он не проходит через клетку).Программа получает на вход четыре числа: a, b, c, d.
| Ввод | Вывод |
| 0 0 6 4 | 8 |
| 3 3 -3 3 | 0 |
| Ввод | Вывод |
| 3 5 | 1 -3 2 |
| Ввод | Вывод |
| 5 | 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 |
-
a и b — делители n. -
a<b. -
a и b — взаимно простые. -
ab≤n.
| Ввод | Вывод |
| 10 | 4 |
| Ввод | Вывод |
| 2 3 | 2 |
| 5 25 | 0 |
K: Диофантово уравнениеДаны натуральные числа a, b, c. Если уравнение ax+by=c имеет решения в целых числах, то выберите то решение, в котором число x имеет наименьшее неотрицательное значение и выведите это решение (два числа x и y через один пробел). Если решения не существует, то выведите слово Impossible.Сложность алгоритма должна быть равна сложности алгоритма Евклида + константа.
| Ввод | Вывод |
| 1 2 3 | 1 1 |
| 10 6 8 | 2 -2 |
-
Наполнить сосуд A (обозначается >A). -
Наполнить сосуд B (обозначается >B). -
Вылить воду из сосуда A (обозначается A>). -
Вылить воду из сосуда B (обозначается B>). -
Перелить воду из сосуда A в сосуд B (обозначается как A>B). -
Перелить воду из сосуда B в сосуд A (обозначается как B>A).
| Ввод | Вывод |
| 3 5 1 | >A A>B >A A>B |
| 3 5 100 | Impossible |
Затем вычеркиваем элементы, которые делятся на 5, начиная с 25... И так далее —находим следующее невычеркнутое число p и вычеркиваем все кратные p начиная с p2.
В результате невычернутыми останутся только простые числа. Такая процедура называется “Решето Эратосфена”.
Напишите программу, которая строит решето Эратосфена, потом считывает натуральное число n и выводит n-е по счету простое число. Гарантируется, что это число не превосходит N.
| Ввод | Вывод |
| 5 | 11 |
| Ввод | Вывод |
| 20 | 2 4 |
| 21 | Impossible |
| Ввод | Вывод |
| 7 | 2 1 1 1 |
| Ввод | Вывод |
| 2 | 13 |
n≤109. Вычислите τ(n) и σ(n).Сложность алгоритма должна быть O(n−√).
| Ввод | Вывод |
| 2 | 2 3 |
| 6 | 4 12 |
| Ввод | Вывод |
| 300 | 220 284 |
| Ввод | Вывод |
| 2 | 2 |
| 5 | 4 |
| Ввод | Вывод |
| 4 | 2 |
| 5 | 4 |