Заменим буквы А, О, У на 0, 1, 2(для них порядок очевиден – по возрастанию)
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00010
Полученная запись есть числа, записанные в троичной системе счисления в порядке возрастания. Тогда на 61 месте будет стоять число 60 (т. к. первое число 0). Переведём число 60 в
троичную систему (деля и снося остаток справа налево):
60/ 3 = 20 (0)
20 / 3 = 6 (2)
6 / 3 = 2 (0)
2 / 3 = 0(2)
02020
В троичной системе 60 запишется как 02020. Произведём обратную замену и получим АУАУА
Объяснение:
X,Y,K:integer;
E,p:real;
Begin
Write('Сколько яблок в наличии: ');ReadLn(X);
Write('Сколько человек: ');ReadLn(Y);
Write('Сколько долларов за одно яблоко: ');ReadLn(E);
Write('Сколько рублей за один доллар: ');ReadLn(p);
if X mod 5 <> 0 then K:=X+5-(X mod 5)
else K:=X;
While K/Y<1.66 do K:=K+5;
WriteLn('Требуемое количество яблок: ',K);
WriteLn('Столько яблок придётся докупить: ',K-X);
WriteLn('Стоимость докупленных яблок: ',(K-X)*E*p:0:2,' руб.');
End.
Пример:
Сколько яблок в наличии: 1
Сколько человек: 3
Сколько долларов за одно яблоко: 50
Сколько рублей за один доллар: 0.05
Требуемое количество яблок: 5
Столько яблок придётся докупить: 4
Стоимость докупленных яблок: 10.00 руб.