Проект Эйлера, кратный 3 и 5 - Задача - Python - PullRequest
0 голосов
/ 11 апреля 2020

Я только что попытался решить Проблема 1 в Project Euler, но я не понимаю, почему этот код не работает, и выходной ответ неверен.
ВОПРОС - Если мы перечисляем все натуральные числа ниже 10, которые кратны 3 или 5, мы получаем 3, 5, 6 и 9. Сумма этих кратных составляет 23.
Найти сумму всех кратных 3 или 5 ниже 1000 .
правильный ответ = 233168
Мой вывод = 266333

a = 0
for x in range(0,1000,3):
    a = a + x
for x in range(0,1000,5):
    a = a + x
print(a) 

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Вы перебиваете кратные 15. Один из способов исправить это - иметь только один l oop, который проверяет, является ли число, кратное 3 или 5.

solution = 0
for i in range(1000):
    if i % 3 == 0 or i % 5 == 0:
        solution += i
print(solution)
0 голосов
/ 11 апреля 2020

Комментарий Деве sh Кумар Сингх решает вопрос:

Поскольку вы учитываете кратные 3 и 5 дважды, например, 15. Добавьте al oop для вычитания таких значений, например, для x в диапазоне (0,1000,15): a = a - x

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...