4 минуты
94 прочтения · 1 год назад
Проект Эйлер 10: Сумма простых чисел до 2000000
Задача Сумма простых чисел меньше 10 равна 2 + 3 + 5 + 7 = 17. Найдите сумму всех простых чисел меньше двух миллионов. Решение Надо сказать, что решение здесь уже заведомо известно, так как в предыдущих задачах это уже встречалось. Обжёгшись ранее на оптимизациях, для начала попробую лобовое решение: Как мы должны помнить, здесь для поиска простого числа перебираются все множители числа n, но оптимизация заключается в том, чтобы перебирать их только до sqrt(n). Также ради разнообразия я использовал код: sum += n & is_prime(n); Вместо проверки с помощью if...
3 минуты
56 прочтений · 1 год назад
Проект Эйлер 7: 10001-е простое число
Продолжаем обсуждать решения задач автором канала: Задача Выписав первые шесть простых чисел, получим 2, 3, 5, 7, 11 и 13. Очевидно, что 6-е простое число - 13. Какое число является 10001-м простым числом? Решение Оно здесь довольно лобовое: перебирать натуральные числа, определять простые, пока мы не отыщем 10001-е. Автор так и делает. Единственное, стоит обратить внимание на некоторую оптимизацию функции, определяющей простое число. Она проверяет не все множители числа, а только до квадратного корня из числа, потому что далее они начнут повторяться...