if cpuid=1 then lmem[0]:=gmem[0] ; délka posloupnosti lmem[1]:=gmem[cpuid] ; schováme si obsah paměti gmem[cpuid]:=0 ; znulujeme paměť if cpuid=1 then gmem[cpuid]:=gmem[0] lmem[2]:=1 ; v kolika buňkách je délka posl. 1: lmem[3]:=cpuid+lmem[2] lmem[0]:=gmem[cpuid] if lmem[3]<=lmem[0] then gmem[lmem[3]]:=gmem[cpuid] lmem[2]:=lmem[2]<<1 lmem[3]:=0 ; budeme ještě kopírovat? if gmem[cpuid]=0 then lmem[3]:=1 if gmem[cpuid]>lmem[2] then lmem[3]:=1 if lmem[3]=1 then goto 1 lmem[0]:=gmem[cpuid] ; tady bude délka posloupnosti lmem[2]:=cpuid+lmem[0] ; index prvku v druhém čísle lmem[3]:=0 if lmem[1]gmem[lmem[2]] then lmem[3]:=2 gmem[cpuid]:=lmem[3] if gmem[cpuid]<>0 then goto 3 ; není se třeba se dívat dál lmem[1]:=cpuid ; tady bude další testovaná buňka lmem[2]:=cpuid-1 ; moje číslo minus 1 lmem[3]:=1 ; posun k další buňce 2: lmem[4]:=lmem[2]&lmem[3]; ; budeme končit? if lmem[4]<>0 then goto 3 ; končíme lmem[1]:=cpuid+lmem[3]; lmem[3]:=lmem[3]<<1 if lmem[1]>lmem[0] then goto 3 ; jsme za koncem posloupnosti if gmem[lmem[1]]<>0 then gmem[cpuid]:=gmem[lmem[1]] if gmem[cpuid]=0 then goto 2 ; ještě jsme nenašli nenulu 3: if cpuid=1 then gmem[0]:=gmem[1] ; a zapíšeme výsledek halt