Нужно написать цикл для подсчёта -
Если выписать все натуральные числа меньше 10, кратные 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел равна 23.
Найдите сумму всех чисел меньше 1000, кратных 3 или 5.
И объяснить как это работает
Python
Как написать цикл на языке программирования Python
Арифметическая прогрессия)
3 + 6 + 9 + 12 + .+999 = 3 * (1 + 2 + 3 + .333) = 3 * 333 * 334 / 2
5 + 10 + 15 + .+995 = 5 * (1 + 2 + 3 + .199) = 5 * 199 * 200 / 2
Но в сумму 5* входят и кратные 3... их надо вычесть.
15 + 30 + 45 + .+990 → 15 * ( 1 + .+66 ) → 15 * 67 * 66 / 2
__________
Решение:
print( 999 * 167 + 199 * 500 - 15 * 67 * 33 )
>>> 233168
3 + 6 + 9 + 12 + .+999 = 3 * (1 + 2 + 3 + .333) = 3 * 333 * 334 / 2
5 + 10 + 15 + .+995 = 5 * (1 + 2 + 3 + .199) = 5 * 199 * 200 / 2
Но в сумму 5* входят и кратные 3... их надо вычесть.
15 + 30 + 45 + .+990 → 15 * ( 1 + .+66 ) → 15 * 67 * 66 / 2
__________
Решение:
print( 999 * 167 + 199 * 500 - 15 * 67 * 33 )
>>> 233168

В цикле от 3 до 1000 проходим по всем числам
% - остаток от деления
Если остаток от деления числа на 3 или 5 равен 0, то число кратно 3 или 5 соответственно. Выводим его на экран и суммируем.
После цикла выводим сумму

% - остаток от деления
Если остаток от деления числа на 3 или 5 равен 0, то число кратно 3 или 5 соответственно. Выводим его на экран и суммируем.
После цикла выводим сумму

Иван Седов
я написал также сразу, но меня смущает то что ответ большеват
Иван Седов
двумя способами

стандартный вариант:
sum_numbers = 0
for number in range(3, 1000):
if not number % 3 or not number % 5: sum_numbers += number
print(sum_numbers)
более питонячий вариант:
print(sum([n for n in range(3, 1000) if not n % 3 or not n % 5]))
sum_numbers = 0
for number in range(3, 1000):
if not number % 3 or not number % 5: sum_numbers += number
print(sum_numbers)
более питонячий вариант:
print(sum([n for n in range(3, 1000) if not n % 3 or not n % 5]))
Советую на будущее прочитать этот цикл статей, который посвящён новичкам для изучения Python. Если бы ты уделил 30 минут на чтение статей, то мог бы не задавать этот вопрос, а решить задачу самому за несколько минут.
Код с комментариями : paste
Код с комментариями : paste
Иван Седов
я решил сразу как в ответах, но мне показалось что довольно большой ответ получился, то есть я сделал что-то неправильно
хоспади
где вы эти задания летом берете?
а главное - зачем?
где вы эти задания летом берете?
а главное - зачем?
Иван Седов
есть места, а ответ у вас есть?
Похожие вопросы
- Нужна помощь.(Язык программирования Python)
- Решите с помощью языка программирования Python!
- Как изучить язык программирования Python ?
- Люди которые знают язык программирования Python, расскажите сколько на это ушло времени и где вы учили Python?
- По поводу языка программирования Python...
- Где и как эфективнее всего изучать язык программирования Python?
- ПОМОГИТЕ, ПОЖАЛУЙСТА, РЕШИТЬ ИНФОРМАТИКУ. Язык программирования Python
- Язык программирования Python, словари и множества
- Создайте программу, которая выводит первые 1000 простых чисел на языке программирования Python.
- Язык программирования Python не могу найти ошибку в коде