Линейный
Жили-были дед да баба.
Была у них курочка ряба.
Снесла курочка яичко, не простое, золотое.
Дед бил, бил – не разбил.
Баба била, била – не разбила.
Мышка бежала, хвостиком махнула.
Яичко упало и разбилось.
Дед и баба плачут.
Курочка кудахчет.
с ветвлением
«Гуси-лебеди»
Начало
Девочка просит печку
Если съешь моего пирожка,
то
иначе не
Конец
Любишь кататься, люби и саночки возить
Начало
если любишь кататься,
то люби и саночки возить
Конец
Циклический алгоритм
«Собирай по ягодке, наберешь кузовок»
Сказка о рыбаке и рыбке:
- раз старик закинул невод, пришел невод с одною тиной
второй раз старик закинул невод... .
Основная идея состоит в том, что каждая сумма – это сумма цифр, то есть она не может быть больше 18. Значит, надо разбивать каждое возможно получившееся число на однозначные и двузначные числа и смотреть, может ли такое быть.
1212 – возможно, например, из числа 666 (6+6 = 12, 6+6 = 12, итог: 1212)
129 – возможно, например, из числа 936 (9+3 = 12, 3+6 = 9, итог: 129)
123 – возможно, например, из числа 930
1218 – невозможно. Это число можно разбить только на два двузначных числа, но тогда 12 и 18 записаны в порядке возрастания, а по условию должно быть наоборот
1812 – возможно, например, из числа 993
312 – невозможно. Это число можно разбить либо на 3 и 12, либо на 31 и 2. В первом случае числа расположены в порядке возрастания, а во втором нельзя получить 31, так как сумма цифр не больше 18
912 – невозможно (аналогично с 312)
112 – возможно, например, из 920
Итого 5 чисел могут получиться.
ответ: 5
i,j,bst: integer;
begin
s:='строка для решения арба еле реестр';
bst:=1; sw:=''; write('строка для поиска - ');
writeln(s);
for i:=1 to length(s) do
begin
if (Ord(s[i])=32) then
begin
if (s[bst]=s[i-1]) then
begin
for j:=bst to i-1 do sw:=sw+s[j];
writeln('найдено слово - ',sw);
sw:='';
end;
bst:=i+1;
end;
end;
if (s[bst]=s[length(s)]) then
begin
for i:=bst to length(s) do sw:=sw+s[i];
writeln('найдено слово - ',sw);
end;
end.