Кладём самый маленький корж на красный поднос, 2-ой по размеру - на жёлтый, перекладываем маленький корж на жёлтый - поверх среднего, кладём большой на красный, перекладываем с жёлтого на красный - поверх большого
Program n1;
var i,n: integer;
begin
write('введите число: ');
readln(n);
for i:=1 to n do write(i,' ');
end.
1.
1234,934(10)
<span> - 0,1234934*10(4степень)
</span><span>0,0010201(10)- 0,10201Е-2</span>
Попробую.
Начало
Ввод количества номиналов N
Объявляем массивов X(N), Y(N)
Цикл по i от 1 до N
Ввод очередного номинала X(i)
Конец цикла по i
Ввод суммы для выдачи S
Подпрограмма сортировки массива X(N) по возрастанию.
Например, пузырьковой сортировкой.
k = 0 ' k - это количество банкнот
Цикл, пока S > 0
Если S < X(1), то ' Если остаток меньше самого маленького номинала
S = 0: k = -1 ' то выдать полную сумму невозможно
Выход сразу из цикла по S
Конец Если
i = N
Цикл, пока X(i) > S
i = i - 1
Конец цикла по X(i)
Y(k) = X(i) ' записываем очередную банкноту в массив Y(N)
S = S - X(i) ' определяем остаток
k = k + 1 ' увеличиваем счетчик банкнот
Конец цикла по S
Если k = 0, то k = -1 ' выдать сумму не смогли
Вывод k
Если k > 0, то ' Если сумму можно выдать
Цикл по i от 1 до k
Вывод Y(i) + " "
Конец цикла по i
Конец Если
Конец
Алгоритм пузырьковой сортировки:
Начало подпрограммы
F = True ' Это булева переменная - признак успешности сортировки
Цикл вечный без всяких условий
Если F = True, то
F = False
Цикл по i от 1 до N-1
Если X(i) > X(i+1), то ' если два соседних числа не отсортированы
Q = X(i) : X(i) = X(i+1) : X(i+1) = Q ' меняем местами эти числа
F = True
Конец Если
Конец цикла по i
Иначе
Выход из Цикла ' Если F = False
Конец Если
Конец вечного Цикла
Конец подпрограммы