program While2;
uses PT4;
function Iter(a, b: real): integer;
begin
Result := 0;
repeat
Result += 1;
a -= b
until a < b
end;
begin
Task('While2');
var (A, B) := ReadReal2();
Write(Iter(A, B))
end.
Янт, ты любишь разговаривать по телефону? (Да\Нет)
Янт, ты разговариваешь? (Да\Нет)
—————————————————————
Янт, кому ты звонишь? (Нельзя ответить да \нет)
Янт, придумай сам этот вопрос.
<span>0) 5<u>4</u>3<u>2</u>61
1) <u>5</u>2346<u>1</u>
2) 1234<u>65</u>
3) 123456
3 перестановки
</span>
Алгоритм такой:
1. Если массив закончился, завершить программу. Иначе к п.2
2. Освободить дырку справа
3. Найти правую границу массива, поставить там метку и вернуться к левой границе массива из оставшихся точек.
4. Вернуться к п. 1.
![1.\hspace{1em} \rightarrow 2 \\ 2.\hspace{1em} ? 15; 3 \\ 3.\hspace{1em} \rightarrow 10 \\ 4.\hspace{1em} X\hspace{0.5em} 5 \\ 5.\hspace{1em} \rightarrow 6 \\ 6.\hspace{1em} ? 7; 5 \\ 7.\hspace{1em} V\hspace{0.5em} 8 \\ 8.\hspace{1em} \leftarrow 9 \\ 9.\hspace{1em} ? 1; 8 \\ 10.\hspace{1em} ? 11; 4 \\ 11.\hspace{1em} ! \\](https://tex.z-dn.net/?f=1.%5Chspace%7B1em%7D+%5Crightarrow+2+%5C%5C%0A2.%5Chspace%7B1em%7D+%3F+15%3B+3+%5C%5C%0A3.%5Chspace%7B1em%7D+%5Crightarrow+10+%5C%5C%0A4.%5Chspace%7B1em%7D+X%5Chspace%7B0.5em%7D+5+%5C%5C%0A5.%5Chspace%7B1em%7D+%5Crightarrow+6+%5C%5C%0A6.%5Chspace%7B1em%7D+%3F+7%3B+5+%5C%5C%0A7.%5Chspace%7B1em%7D+V%5Chspace%7B0.5em%7D+8+%5C%5C%0A8.%5Chspace%7B1em%7D+%5Cleftarrow+9+%5C%5C%0A9.%5Chspace%7B1em%7D+%3F+1%3B+8+%5C%5C%0A10.%5Chspace%7B1em%7D+%3F+11%3B+4+%5C%5C%0A11.%5Chspace%7B1em%7D+%21+%5C%5C)