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

  • 5
Напишите программу на языке Python, которая будет просить ввести натуральное число N и затем вычислять сумму всех чисел Фибоначчи, которые меньше N. Пожалуйста, обеспечьте проверку на введение отрицательного числа N. Пример: Введите значение для N: 10000. Сумма чисел Фибоначчи, меньших N, равна 17710.
Magiya_Morya
41
Конечно! Вот решение задачи:

python
def fibonacci_sum():
n = int(input("Введите значение для N: "))

if n <= 0:
print("Число N должно быть натуральным!")
return

fib_sequence = [0, 1]
fib_sum = 0

while fib_sequence[-1] < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
if fib_sequence[-1] < n:
fib_sum += fib_sequence[-1]

print("Сумма чисел Фибоначчи, меньших N, равна", fib_sum)

fibonacci_sum()


Давайте пошагово разберем код:

1. Мы начинаем с определения функции `fibonacci_sum()`, в которой мы будем решать нашу задачу.
2. Затем мы просим пользователя ввести значение для переменной `n` с помощью функции `input()`. При этом мы преобразуем введенное значение в тип `int`.
3. Далее мы делаем проверку: если значение `n` меньше или равно нулю, выводим сообщение об ошибке и возвращаемся из функции.
4. Создаем список `fib_sequence`, в котором будем хранить последовательность чисел Фибоначчи. Изначально список содержит первые два числа Фибоначчи: 0 и 1.
5. Также создаем переменную `fib_sum`, в которой будем накапливать сумму чисел Фибоначчи, меньших `n`. Изначально сумма равна 0.
6. Запускаем цикл `while`, который выполняется до тех пор, пока последнее число в `fib_sequence` меньше `n`.
7. Внутри цикла мы генерируем следующее число Фибоначчи и добавляем его в `fib_sequence`. Затем проверяем, что новое число Фибоначчи меньше `n`, и если это так, добавляем его к сумме `fib_sum`.
8. После того как цикл заканчивается, мы выводим сообщение с результатом - суммой чисел Фибоначчи, меньших `n`.

Надеюсь, это решение помогло вам!