Напишите программу, которая на вход получает натуральное число nn и подсчитывает сумму квадратов чисел от 11

  • 64
Напишите программу, которая на вход получает натуральное число nn и подсчитывает сумму квадратов чисел от 11 до nn (включительно), которые оканчиваются на 2,5 или 8. Входные данные: натуральное число nn. Выходные данные: программа должна вывести единственное число в соответствии с условием задачи. Примечание: если в указанном диапазоне нет таких чисел, следует вывести...
Чудесный_Мастер
50
Для решения этой задачи мы можем использовать цикл для перебора чисел от 1 до n. При каждой итерации цикла мы будем проверять последнюю цифру числа, и если она равна 2, 5 или 8, мы добавляем квадрат числа к общей сумме.

Ниже приведен код программы, который решает данную задачу:

python
def sum_of_squares(n):
sum = 0
for i in range(1, n+1):
last_digit = i % 10
if last_digit == 2 or last_digit == 5 or last_digit == 8:
sum += i**2
return sum

n = int(input("Введите натуральное число: "))
result = sum_of_squares(n)
print("Сумма квадратов чисел от 1 до", n, "оканчивающихся на 2, 5 или 8 равна:", result)


Давайте разберемся с кодом. В начале программы, мы объявляем функцию `sum_of_squares`, которая принимает один аргумент n - число, до которого мы хотим подсчитать сумму квадратов. Затем мы инициализируем переменную `sum` суммой, равной нулю.

Затем мы используем цикл `for` для перебора чисел от 1 до n (включительно) с помощью функции `range(1, n+1)`. В каждой итерации цикла мы проверяем последнюю цифру числа, используя оператор остатка `% 10`. Если последняя цифра равна 2, 5 или 8, мы добавляем квадрат числа `i` к сумме `sum`.

По завершении цикла, функция возвращает значение суммы `sum`.

Затем мы запрашиваем у пользователя ввод натурального числа `n`, вызываем функцию `sum_of_squares` с аргументом `n` и сохраняем результат в переменную `result`. Наконец, мы выводим на экран результат в соответствии с условием задачи.

Теперь у нас есть программа, которая решает данную задачу. Если в указанном диапазоне нет чисел, оканчивающихся на 2, 5 или 8, программа выведет 0.