Ответы на вопрос:
За основу взят алгоритм, изложенный в "bикипедии" и найденный по запросу "наибольшая общая подстрока". процедура переделана из c# реализации алгоритма, там же. // pascalabc.net 3.2, сборка 1325 от 19.10.2016 function maxsubstr(s1,s2: string): string; begin var a: =new integer[s1.length+1,s2.length+1]; var u: =0; var v: =0; for var i: =0 to s1.length-1 do for var j: =0 to s2.length-1 do if s1[i+1]=s2[j+1] then begin a[i+1,j+1]: =a[i,j]+1; if a[i+1,j+1]> a[u,v] then begin u: =i+1; v: =j+1 end end; result: =s1.substring(u-a[u,v],a[u,v]) end; begin var a: ='trapperkaperkatrter'; var b: ='appekaperspamer'; writeln(maxsubstr(a,b)) end. тестовое решение kaper
Популярно: Информатика
-
Роднойязык1130.10.2020 05:38
-
nnursejt31.08.2020 08:23
-
ЯсминаАбд13.07.2022 00:34
-
ХЕЛП20906.09.2020 12:52
-
mariy3031.12.2021 11:40
-
nooooovikovaaaaa34526.11.2020 21:07
-
oksanasyxovaro03.08.2020 22:53
-
vika208728.07.2022 02:38
-
Кндр1507.05.2020 17:04
-
11112006823.12.2021 23:43