Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 67

Упорядочить три числа

19.03.2018, 22:12. Показов 231932. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано три числа. Упорядочите их в порядке неубывания. Программа должна считывать три числа a,b,c, затем программа должна менять их значения так, чтобы стали выполнены условия a≤b≤c, затем программа выводит тройку a,b,c.
Формат ввода
Вводятся три числа.
Формат вывода
Выведите ответ на задачу.
Примечания
Дополнительные ограничения: нельзя использовать дополнительные переменные (то есть единственной допустимой операцией присваивания является обмен значений двух переменных типа (a, b) = (b, a).
Тест 1
Входные данные:
1
2
1
Вывод программы:
1 1 2
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.03.2018, 22:12
Ответы с готовыми решениями:

Написать программу. Заданы три одномерных массива X, Y, Z. Упорядочить по возрастанию три числа
Заданы три одномерных массива X, Y, Z. Упорядочить по возрастанию три числа a, b и c, где a – минимальный элемент массива X, b –...

Заданы три массива: Упорядочить по возрастанию три числа а, b, c, где а – минимальный элемент массива х, b - м
Заданы три массива: х={x1,x2,х3,х4,х5}; у = {y1,y2,y3,y4,y5,y6}; z={z1,z2,z3,z4}. Упорядочить по возрастанию три числа а, b, c, где а –...

Упорядочить три числа
Дано три числа, записанный в отдельных строках. Упорядочите их в порядке неубывания. Программа должна считывать три числа a, b, c, затем...

15
97 / 20 / 13
Регистрация: 27.02.2018
Сообщений: 60
20.03.2018, 02:05
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
a = int(input())
b = int(input())
c = int(input())
if a > b:
    a, b = b, a
if b > c:
    b, c = c, b
if a > b:
    a, b = b, a
print(a, b, c)
4
0 / 0 / 0
Регистрация: 20.04.2019
Сообщений: 2
19.08.2019, 21:34
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
a, b, c = int(input()), int(input()), int(input())
if a >= b and a >= c and b >= c:
    print(c, b, a)
elif a <= b and a >= c and b >= c:
    print(c, a, b)
elif a <= b and a <= c and b <= c:
    print(a, b, c)
elif a >= b and a >= c and b <= c:
    print(b, c, a)
elif a >= b and a <= c and b <= c:
    print(b, a, c)
else:
    print(a, c, b)
0
0 / 0 / 0
Регистрация: 16.03.2019
Сообщений: 28
23.02.2021, 18:18
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
a, b, c = int(input()), int(input()), int(input())
if a >= b and a >= c and b >= c:
    print(c, a, b)
elif a >= b and a >= c and b <= c:
    print(b, c, a)
elif b >= a and b >= c and a >= c:
    print(c, a, b)
elif b >= a and b >= c and a <= c:
    print(a, c, b)
elif c >= a and c >= b and a >= b:
    print(b, a, c)
elif c >= a and c >= b and a <= b:
    print(a, b, c)
0
 Аватар для oldnick85
36 / 34 / 10
Регистрация: 15.07.2017
Сообщений: 128
23.02.2021, 18:28
Python
1
a,b,c=sorted([a,b,c])
1
11 / 10 / 1
Регистрация: 15.11.2023
Сообщений: 55
28.11.2023, 16:15
Python
1
print(*sorted([input() for x in range(3)]))
1
0 / 0 / 0
Регистрация: 09.03.2025
Сообщений: 5
09.03.2025, 15:37
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a = int(input())
b = int(input())
c = int(input())
if a >= b:
  if a >= c:
    if b >= c:
      print(c, b, a)
    else:
      print(b, c, a)
  else:
    print(b, a, c)
elif b >= c:
  if c >= a:
    print(a, c, b)
  else:
    print(c, a, b)
else:
  print(a, b, c)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38196 / 21129 / 4309
Регистрация: 12.02.2012
Сообщений: 34,737
Записей в блоге: 14
10.03.2025, 07:29
kirilliks, тогда уж лучше так:

Python
1
2
3
4
5
6
if (a >= b >=c) print(a,b,c)
if (a >= c >=b) print(a,c,b)
if (b >= a >=c) print(b,a,c)
if (b >= c >=a) print(b,c,a)
if (c >= a >=b) print(c,a,b)
if (c >= b >=a) print(c,b,a)
3
1199 / 768 / 128
Регистрация: 10.03.2012
Сообщений: 4,966
10.03.2025, 10:35
Python
1
2
3
4
5
6
7
8
a, b, c = map(int, input().split())
if a > b:
    a, b = b, a
if a > c:
    a, c = c, a 
if b > c:
    b, c = c, b
print(a, b, c)
2
 Аватар для volodin661
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,925
10.03.2025, 13:56
Цитата Сообщение от Catstail Посмотреть сообщение
тогда уж лучше так:

Python
1
2
3
4
5
6
if (a >= b >=c) print(a,b,c)
if (a >= c >=b) print(a,c,b)
if (b >= a >=c) print(b,a,c)
if (b >= c >=a) print(b,c,a)
if (c >= a >=b) print(c,a,b)
if (c >= b >=a) print(c,b,a)

индус-стайл. красота.

появилась мысль формализовать эту красоту.

для отладки пока без if, просто посмотреть как работает reduce
но reduce() всегда возвращает true, а по задумке true должна быть только, если последовательность монотонно возрастает.
что не так ?

Python
1
2
3
4
5
6
7
8
9
from operator  import le
from functools import reduce
from itertools import permutations
 
array = [ 2, 1, 3, ]
 
for perm in permutations(array):
    print(perm)
    print(reduce(le, perm))
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.03.2025, 14:01
Цитата Сообщение от volodin661 Посмотреть сообщение
что не так ?
а условия кто будет выполнять?
Цитата Сообщение от Вероника_В Посмотреть сообщение
Дополнительные ограничения: нельзя использовать дополнительные переменные
0
 Аватар для volodin661
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,925
10.03.2025, 14:18
Цитата Сообщение от YuS_2 Посмотреть сообщение
а условия кто будет выполнять?
Проблемы Вероники меня не взволновали. A неудача с идеей использовать reduce для определения монотонного возрастания последовательности взволновала.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38196 / 21129 / 4309
Регистрация: 12.02.2012
Сообщений: 34,737
Записей в блоге: 14
10.03.2025, 16:24
Цитата Сообщение от volodin661 Посмотреть сообщение
индус-стайл. красота.
- действительно, красиво. Потому что очевидно.
А перечислять перестановки в поиске упорядоченной можно, то красота (простота) ускользает. Тогда уж лучше сортировать.

Добавлено через 3 минуты
Если строго по условию, то вот:

Python
1
2
[a,b,c]=sorted([a,b,c])
print(*[a,b,c])
1
 Аватар для volodin661
6799 / 2298 / 349
Регистрация: 10.12.2013
Сообщений: 7,925
10.03.2025, 16:57
Цитата Сообщение от Catstail Посмотреть сообщение
перечислять перестановки в поиске упорядоченной можно, то красота (простота) ускользает.
Я не про упорядочивание трех чисел;
необычайным напряжением всех когнитивных способностей, мне тоже удалось постичь волшебные возможности сортировки.

но вот что не удалось постичь, так это причину неудачи с reduce(), которую я описал выше.
( к решению изначальной задачи ВероникиВ, возникшей 7 лет тому назад, мои экзерсисы с функц. программированием на python не относятся. совсем )
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
10.03.2025, 18:30
Цитата Сообщение от volodin661 Посмотреть сообщение
Проблемы Вероники меня не взволновали.
Можно даже сказать больше, они её саму, вряд ли волнуют... семь лет - не семь дней всё таки...

Цитата Сообщение от volodin661 Посмотреть сообщение
неудача с идеей использовать reduce для определения монотонного возрастания последовательности взволновала.
Дык, а как ты хотел её использовать?

Смотри, где ошибка:
Цитата Сообщение от volodin661 Посмотреть сообщение
но reduce() всегда возвращает true, а по задумке true должна быть только, если последовательность монотонно возрастает.
reduce() - это же "сокращатель". Работает он так: берутся два первых элемента последовательности, к ним применяется функция, далее берется результат и применяется к нему и следующему элементу последовательности
то бишь, в данном случае:
permutation выдает последовательность из троек чисел, например:
Python
1
2
3
4
5
6
7
8
9
10
11
12
...
perm = (2,1,3)
reduce(le, perm)
# эквивалент:
2 <= 1 # False, что в числовом эквиваленте 0
0 <= 3 # True
 
perm = (2,3,1)
2 <= 3 # True
1 <= 1 # True
 
...
и т.д.

В итоге, ты всегда будешь получать True, за исключением случаев, когда третий элемент меньше 1, а первый результат True, либо меньше 0 при False...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6236 / 2946 / 1047
Регистрация: 01.06.2021
Сообщений: 10,972
11.03.2025, 12:49
Для сортировки 3 элементов достаточно 3 сравнений

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2025, 12:49
Помогаю со студенческими работами здесь

Упорядочить три числа
В входящих программах есть три целых числа a, b и c, записанных в одной строке через пробел. Заданные числа нужно вводить по возрастанию. ...

Упорядочить три числа
Упоpядочить тpи числа a, b, c по возрастанию таким образом, чтобы переменной а соответствовало самое маленькое число, b – сpеднее, с –...

Упорядочить три числа
При вводе исходных данных переменные A,B,C получают разные числовые значения. Программа должна поменять числовые значения между переменными...

Упорядочить три числа x, y, z по возрастанию
Упорядочить три числа x, y, z по возрастанию так, чтобы перемен- ной с именем х соответствовало самое малое из чисел x, y, z, y –...

Упорядочить три числа по возрастанию
Помогите пожалуйста сделать!!! Нужно написать программку которая разрешает упорядочить три целых числа за ростом. Используя оператор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru