14 и 35 делятся на 7, поэтому можно получить только количества воды, кратные 7 л. Максимальное возможное число литров в двух сосудах равно 14 + 35 = 49, поэтому можно пробовать получить 0 л, 7 л, 14 л, 21 л, 28 л, 35 л, 42 л, 49 л.
0 л, 14 л, 35 л, 49 л - очевидно, получаются, это ни одного заполненного бака, заполненный бак на 14, заполненный бак на 35, оба заполненных бака.
21 л: заполнить бак на 35, отлить 14 в меньший бак, вылить воду из меньшего бака. 7 л: налить 21 л в больший бак (мы это уже умеем), отлить 14 в меньший бак, вылить воду из меньшего бака. 28 л: наполнить меньший бак, вылить из меньшего бака в больший, заполнить меньший бак. 42 л: налить 7 л в больший бак, перелить в меньший бак, заполнить больший бак.
Итого, можно получить 0 л, 7 л, 14 л, 21 л, 28 л, 35 л, 42 л, 49 л.
var
s1, s2: string;
i, n1, n2: integer;
begin
writeln('Введите первое слово');
readln(s1);
writeln('Введите второе слово');
readln(s2);
writeln('Объединение слов: ', s1 + s2);
writeln('Длина первого слова: ', length(s1));
writeln('Длина второго слова: ', length(s2));
for i:= 1 to length(s1) do
if s1[i] = 'а' then inc(n1);
for i:= 1 to length(s2) do
if s2[i] = 'a' then inc(n2);
writeln('В первом слове ', n1, ' букв "а" ');
writeln('Во втором слове ', n2, ' букв "а" ');
writeln('Первые 5 букв первого слова: ', copy(s1, 1, 5));
writeln('Первые 5 букв второго слова: ', copy(s2, 1, 5));
delete(s1, length(s1) - 4, 5);
delete(s2, length(s2) - 4, 5);
writeln('Результат удаления последних 5 букв первого слова: ', s1);
writeln('Результат удаления последних 5 букв второго слова: ', s2);
end.