.Задача №1
Если выписать все натуральные числа меньше 10, кратные 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел - 23.
Найдите сумму всех чисел меньше 1000, кратных 3 или 5.
Да, немного в сторону - я также буду ставить эксперименты с производительностью и поможет мне в этом не простом деле модуль time, точнее один из его методов.
Мой топорный алгоритм замера скорости выполнения кода Python выглядит следующим образом
import time
start=time.time() #Получаем начальное время в секундах от начала времен
#Код
print(time.time()-start) #Получаем конечное время
Конечно, методика очень относительна, но и достаточно проста
И так - мой код решения задачи Эйлера №1 на Python
a=[x for x in range(1,1000) if x%3==0 or x%5==0]
print(sum(a))
Аж в 2 строчки.
Немного поясню - первая строка генерируем список при помощи генератора списков Python. Список содержит натуральные числа в диапазоне [функция range(1,1000)] от 1 до 1000 кратных 3 или 5-ти x%3==0 или x%5==0.
Затем получившийся список суммируем и выводим на печать
Время выполнения 0.0155 с на моем старичке ноутбуке. Но посмотрим как будет дальше т.к это очень простая задача