Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 30

Расположить 4 числа по возрастанию

08.12.2022, 16:16. Показов 7228. Ответов 21

Студворк — интернет-сервис помощи студентам
Вводятся 4 целых числа (a,b,c,d). Необходимо в переменную a записать меньшее из этих чисел, в b-второе по величине, в c-третье, а в d - наибольшее из них. Алгоритм должен совершать не более 5 операций сравнения.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.12.2022, 16:16
Ответы с готовыми решениями:

Расположить все ненулевые элементы по возрастанию, а все нули расположить после ненулевых элементов
Помогите, пожалуйста, с задачей Надо: Создать массив из 50 элементов Заполнить его случайными числами из диапазона (-16, 18) ...

Расположить точки данного множества по возрастанию в соответствии с указанным порядком
Дано множество A из N точек с целочисленными координатами x, y. Порядок на координатной плоскости определим следующим образом: (x1, y1)...

Расположить числа в массиве по возрастанию
Даны 2 натуральных числа A и B. Выведи массив из B чисел A и A чисел B. Числа в массиве должны быть расположены по возрастанию. ...

21
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,247
Записей в блоге: 4
21.10.2024, 22:16
Студворк — интернет-сервис помощи студентам
Извиняюсь, сразу не мого ответить.
Задание прислали по Ватсапу, без примеров. Примеры прислали только сейчас.

Ну, так вот, продолжаем - если подробно, то условия таковы:
- нельзя использовать: списки, словари, циклы, строки;
- количество сравнений не ограничивается;
- в ответе должно быть 4-х значное число;
- ведущие нули не допускаются.

Думаю, такое решение будет правильным
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
s = [1000, 2001, 1320]
 
def fun(x):
    a = x // 1000
    b = x // 100 % 10
    c = x % 100 // 10
    d = x % 10
 
    if a < b: a, b = b, a
    if c < d: c, d = d, c
    if a < c: a, c = c, a
    if b < d: b, d = d, b
    if b < c: c, b = b, c
 
    # Ведущие нули
    if (d + c + b) == 0:  a, d = d, a
    if ((d + c) == 0) and b > 0: d, b = b, d
    if d==0 and c>0 and b>0: d, c = c, d
 
    print(d*1000 + c*100 + b*10 + a)
    
for i in s:
    fun(i)
0
Вирусоборец
 Аватар для thyrex
14451 / 7490 / 1583
Регистрация: 06.09.2009
Сообщений: 27,135
22.10.2024, 07:00
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
a = int(input())
c = a%100
a = a//100
b, a = a%10, a//10
d, c = c%10, c//10
if a>b:
    a, b = b, a
if c>d:
    c, d = d, c
if a>c:
    a, c = c, a
if b>d:
    b, d = d, b
if b>c:
    c, b = b, c
if c == 0:
    a, d = d, a
elif b == 0:
    a, c = c, a
elif a == 0:
    a, b = b, a
print(a*1000+b*100+c*10+d)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.10.2024, 07:00

Расположить числа по возрастанию
Пользователь вводит четыре числа: a, b, c, d float a, b, c, d; cin &gt;&gt; a &gt;&gt; b &gt;&gt; c &gt;&gt; d; как легче всего расположить их по...

Расположить 3 числа по возрастанию
как 2 числа я знаю. Подскажите как с 3 числами

Расположить числа по возрастанию
Дан массив из 7 чисел. Расположить числа по возрастанию. Ввести число М так, чтобы оно вошло в массив и получившийся массив также ...

Расположить числа по возрастанию
Дан массив из 13 чисел. Расположить числа по возрас- танию. Ввести с клавиатуры число М так, чтобы оно вошло в массив и получившийся...

Расположить числа по возрастанию
Дан массив из 7 чисел. Расположить числа по возрастанию. Ввести число М так, чтобы оно вошло в массив и получившийся массив также ...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru