var Ain,Kabel : string; Perioda : longint; index : longint; Shodne : boolean; function NSD(a,b:longint):longint; begin while (a<>0) and (b<>0) do if (a>b) then a:=a mod b else b:=b mod a; NSD:=a+b; end; begin write('Ain:');readln(Ain); write('Kabel:');readln(Kabel); Perioda:=NSD(length(Ain),length(Kabel)); Shodne:=true; for index:=1 to length(Ain) do { generuje podřetězec délky NSD záznamy Aina a Kábela? } Shodne:=Shodne and (Ain[index]=Ain[((index-1) mod Perioda)+1]); for index:=1 to length(Kabel) do Shodne:=Shodne and (Kabel[index]=Kabel[((index-1) mod Perioda)+1]); for index:=1 to Perioda do { jsou generující podřetězce shodné? } Shodne:=Shodne and (Ain[index]=Kabel[index]); if Shodne then writeln('Záznamy jsou stejné.') else writeln('Záznamy jsou různé.'); end.