
Дана последовательность из N чисел. Определить сумму трех наибольших чисел.(Циклы)


Ответы на вопрос

Ответ:
list_number = [] # Создали список, сюда заносим числа.
N = int(input("Введите количество чисел: "))
for i in range(N): # Цикл
# Добавление числа в список
list_number.append(int(input("{0} число: ".format(i + 1))))
list_number.sort() # Сортируем список по возрастанию
# Выводим сумму трех последних эл.списка
print("Result: {0}".format(sum(list_number[-3:])))



Для решения данной задачи, можно воспользоваться циклом, чтобы найти три наибольших числа в последовательности, а затем сложить их значения.
Вот пример кода на языке Python, реализующий данный алгоритм:
pythondef find_sum_of_three_largest_numbers(numbers):
# Проверка на то, что в последовательности есть хотя бы три числа
if len(numbers) < 3:
return "Последовательность должна содержать минимум три числа."
# Инициализация трех наибольших чисел
largest_numbers = [float('-inf'), float('-inf'), float('-inf')]
# Поиск трех наибольших чисел в последовательности
for num in numbers:
if num > largest_numbers[0]:
largest_numbers = [num, largest_numbers[0], largest_numbers[1]]
elif num > largest_numbers[1]:
largest_numbers = [largest_numbers[0], num, largest_numbers[1]]
elif num > largest_numbers[2]:
largest_numbers[2] = num
# Вычисление суммы трех наибольших чисел
sum_of_largest_numbers = sum(largest_numbers)
return sum_of_largest_numbers
# Пример использования функции
sequence = [5, 10, 3, 8, 15, 1]
result = find_sum_of_three_largest_numbers(sequence)
print("Сумма трех наибольших чисел:", result)
В этом примере мы сначала проверяем, что в последовательности есть хотя бы три числа. Затем инициализируем список largest_numbers
тройкой отрицательных бесконечностей, чтобы иметь исходную точку для сравнения чисел в последовательности.
Затем мы проходим по каждому числу в последовательности и обновляем largest_numbers
, если текущее число больше одного из трех наибольших чисел. После завершения цикла, largest_numbers
содержит три наибольших числа в последовательности.
Наконец, мы вычисляем сумму трех наибольших чисел с помощью функции sum()
и возвращаем ее.
В приведенном примере с последовательностью [5, 10, 3, 8, 15, 1]
результатом будет 33
(сумма чисел 10
, 15
и 8
).


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili