Проект Эйлер

Проект Эйлер

Проект Эйлер (projecteuler.net) это сборник задач повышенной сложности для реализации в программном коде. Решение этих задач укрепляет дух.
подборка · 49 материалов
4,9K подписчиков
Задача Можно найти перестановки куба 41063625 (345^3), чтобы получить ещё два куба: 56623104 (384^3) и 66430125 (405^3). К слову, 41063625 является наименьшим кубом, для которого ровно три перестановки также являются кубами. Найдите наименьший куб, для которого ровно пять перестановок также являются кубами. Решение Задача имеет сложность 15% и подвох. Так как там содержится слово "перестановка", давайте представим, на что нас хотят развести: Формально это рабочее решение, но числа уже понятно что...
2 месяца назад • 13 просмотров
4,9K подписчиков
Сложность данной задачи 20%, поэтому я в деле :) Задача Решение Для начала я составлю базу из кусков чисел. Условия задачи очень многое облегчают, так как числа могут быть только 4-значные. Если число, к примеру, равно 2512, то 25 будет головой, а 12 хвостом. У одной головы может быть несколько разных хвостов. Это чаще всего случается с треугольными числами. Например, 1035 и 1081. Но хвостов у одной головы не может быть более 3-х, на крайний случай 4-х :) Поэтому я сделал такую структуру для хранения: Поле cnt это количество хвостов, а массив tails[] содержит собственно хвосты...
2 месяца назад • 11 просмотров
4,9K подписчиков
Опять простые числа, но у этой задачи рейтинг сложности 20%, так что я в деле. Задача Простые числа 3, 7, 109 и 673 достаточно замечательны. Если взять любые два из них и объединить их в произвольном порядке, в результате всегда получится простое число. Например, взяв 7 и 109, получатся простые числа 7109 и 1097. Сумма этих четырёх простых чисел, 792, представляет собой наименьшую сумму элементов множества из четырех простых чисел, обладающих данным свойством. Найдите наименьшую сумму элементов множества из 5 простых чисел, для которых объединение любых двух даст новое простое число...
2 месяца назад • 13 просмотров
4,9K подписчиков
Задача Каждый символ в компьютере имеет уникальный код, предпочитаемым является стандарт ASCII (American Standard Code for Information Interchange - Американский стандартный код для обмена информацией). Для примера, A верхнего регистра = 65, звёздочка (*) = 42, а k нижнего регистра = 107. Современный метод шифровки состоит в том, что берётся текстовый файл, конвертируется в байты по ASCII, а потом над каждым байтом выполняется операция XOR с определённым значением, взятым из секретного ключа....
3 месяца назад • 47 просмотров
4,9K подписчиков
Наконец попалась задача не про простые числа :) Задача В карточной игре покер ставка состоит из пяти карт и оценивается от самой младшей до самой старшей в следующем порядке: Достоинство карт оценивается по порядку: 2, 3, 4, 5, 6, 7, 8, 9, 10, валет, дама, король, туз. Если у двух игроков получились ставки одного порядка, то выигрывает тот, у кого карты старше: к примеру, две восьмерки выигрывают две пятерки. Если же достоинства карт у игроков одинаковы, к примеру, у обоих игроков пара дам, то сравнивают карту наивысшего достоинства; если же и эти карты одинаковы, сравнивают следующие две и т...
3 месяца назад • 9 просмотров
4,9K подписчиков
Задача Решение Гуру-питонисты просто вызовут функцию ncr(), которая сама всё посчитает. Нам же придётся реализовать формулу: n! / r! / (n - r)! И основная проблема тут, конечно же, в чудовищном размере получаемых факториалов. В какой-то из предыдущих задач такое уже было. Фишка в том, что не надо считать факториал как есть. Так как здесь один факториал делится на другой, то можно сразу делить сами члены ряда факториала друг на друга, не дожидаясь, пока они превратятся в громадное число. Я не стал смотреть в старую задачу и просто написал решение, подходящее для этой...
3 месяца назад • 9 просмотров