сразу говорю, это неполное решение и за него дают не 100 а лишь да мало, но лучше чем ничего, на крайний случай если так и не найдешь толковое решение
from queue import PriorityQueue
d = {k: x for k, x in enumerate(map(int, input().split())) if x != 0}
q = PriorityQueue()
for x, k in d.items():
q.put((-k, x))
res = []
p_k, p_x = q.get()
res.append(p_x)
while q.qsize() != 0:
k, x = q.get()
res.append(x)
if p_k < -1:
q.put((p_k + 1, p_x))
p_k, p_x = (k, x)
print(*res[::-1], sep='')
Поделитесь своими знаниями, ответьте на вопрос:
например, ввод дополнительной переменной output, которая равна true, если вывод числа (чисел) не был осуществлён и необходимо вывести "123", иначе (если вывод уже был) - false
Объяснение:
int main()
{
setlocale(LC_ALL, "Rus");
double a, b, c, l, k;
bool output = true;
cout << "Введите l: ";
cin >> l;
cout << "Введите k: ";
cin >> k;
a = (l - 2 * k) / l;
b = (l + k) / 5;
c = l * k - 3.5;
if (a >= -5 && a <= 8)
{
cout << "a = " << a << endl;
output = false;
}
if (b >= -5 && b <= 8)
{
cout << "b = " << b << endl;
output = false;
}
if (c >= -5 && c <= 8)
{
cout << "c = " << c << endl;
output = false;
}
if (output)
{
cout << "123" << endl;
}
}