Предмет: Информатика,
автор: dareddwarf14298
Кiшка-програмiст Паскалiна, як i бiльшiсть дiтей, не любить складати дроби, особливо з рiзними знаменниками. Їй заданi чотири додатних цiлих числа , , i . Необхiдно розставити цi числа в такому порядку, щоб сума:
+
була якнайменша.
Ось Пiфагор таке завдання усно розв’язав би за хвилину, а
Паскалiна написала програму. Напишiть i ви таку програму!
Формат вхiдних даних
Вашiй програмi на вхiд подаються чотири додатних цiлих
числа: , , i .
Формат вихiдних даних
Виведiть чотири числа, якi є перестановкою чисел , , i
, щоб зазначена сума дробiв була мiнiмально можливою. Якщо є кiлька способiв переставити числа, то
виведiть будь-який з них.
Приклади
тест вiдповiдь
1 2 3 4 1 3 2 4
5 5 5 5 5 5 5 5
Пояснення до прикладiв
У першому прикладi, впорядкувавши числа таким чином, ми отримуємо суму:
1/3+2/4=5/6,
отримати менше значення неможливо.
У другому прикладi сума в будь-якому випадку дорiвнюватиме:
5/5+5/5= 2.
Нужен паскаль или питон
p15:
Не забывайте добавлять что нужен Паскаль, видимо.
var a := ReadArrInteger(4);
// var a := Arr(7, 3, 5, 1);
a.Sort();
Println(a[0], a[2], a[1], a[3]);
WritelnFormat('{0}/{1} + {2}/{3} = {4}', a[0], a[2], a[1], a[3], a[0] / a[2] + a[1] / a[3]);
end.
Ответы
Автор ответа:
1
Ответ:
a = list(map(int, input().split()))
a.sort()
if (a[0]/a[2]+a[1]/a[3])<(a[1]/a[2]+a[0]/a[3]):
print(a[0],a[2],a[1],a[3])
else:
print(a[1],a[2],a[0],a[3])
Объяснение:
Я даже не уверен, что if когда-то сработает или можно без него (надо математику привлекать), но так точно работает
Похожие вопросы
Предмет: Математика,
автор: rabokonvaleria82
Предмет: Информатика,
автор: borakivan18
Предмет: Английский язык,
автор: uitcdx
Предмет: Алгебра,
автор: anyapolka
Предмет: Информатика,
автор: chuskun