S - Заданная символьная строка s2 - Заданное слово Идея проста: мы проходим по заданной строке и копируем подстроку, начиная с символа i, с количеством символов, равным количеством символов заданного слова. Например: Символьная строка: 34строка3254строка Заданное слово: строка Мы просто берём и проходим циклом 34строка3254строка 34строка3254строка 34строка3254строка ... и т.д. до самого конца. Если рассматриваемая нами подстрока равна заданному слову, то мы увеличиваем счётчик k на 1, после завершения цикла мы просто возвращаем значение нашего счётчика - количество вхождений заданного слова в строку. P.S. Мы идём циклом не от 1 до length(s), а от 1 + l1 - l2. К примеру в нашей строке нет смысла рассматривать подстроку, начиная отсюда 34строка3254строка т.к. символов в ней явно меньше чем в самом заданном слове, следовательно, дальше оно нам уже не попадётся:) Исходный код в приложении.
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу. 2. Немного изменим ваш код и получим искомое значение x Искомое число х = 16293
var x, y, a, b, k: integer;
begin k:=10000; repeat x:=k; a := 0; b := 0; y := 1; while x > 0 do begin if (x mod 10) mod 2 = 0 then a := a * 10 + x mod 10 else begin y := y * 10; b := b * 10 + x mod 10 end; x := x div 10 end; a := a * y + b; k := k + 1; until a = 26391; writeln(a:8, k-1:8); end.
потому что каждый день меняется модель
придумывают новые технологией