Пользователь вводит последовательность чисел. Признак конца ввода 0.Определить 3...

0 голосов
36 просмотров

Пользователь вводит последовательность чисел. Признак конца ввода 0.Определить 3 наибольших числа в последовательности.НА ЯЗЫКЕ ПИТОН .ШКОЛЬНЫЙ УРОВЕНЬ.ЖЕЛАТЕЛЬНО С ПОЯСНЕНИЯМИ!


Информатика (20 баллов) | 36 просмотров
Дан 1 ответ
0 голосов

m1=0

m2=0

m3=0

x=10

while x!=0:

x=int(input())#вводим число

if m1

 m3=m2

 m2=m1

 m1=x

elif x>m2 and  x>m3 and x

 m3=m2

 m2=x

elif xm3:

 m3=x

print(m1,m2,m3,sep=" ")

вот std алгоритм заключается в том что у нас три переменных и мы после нахождения максимума все переменные сдвигаем назад то есть m1 становится m2, m2 становится m3 а m1 присваивается новый максимум  и так же тут случаи когда m2 или m3 больше старых но мешьше m1 он тогда просто меняет значение именно той переменной которой он больше

(595 баллов)
0

при этом если есть новый m2 то старый м2 переносится в m3