|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00) Types: TextFile Names: »kti1t«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »kti1t«
kkti=algol begin integer c,g,f,n,top,knp,i,j,k,u,max; real r,s; g:=3; read(in,c,f,max); n:=g**c-1; top:=n//12+1; knp:=1; r:=1.0; for i:=1 step 1 until f do begin r:=r*(c-i+1)/i; knp:=knp+r*2**i; end; begin boolean array a(0:top); integer array rk(1:c),rk1(1:c),stak(1:knp),bb(1:max+1); integer nx,nx1,ai,ap,mask,ri,t,gr,gr1,up,lo; procedure skriva; begin integer ji; for ji:=0 step 1 until top do begin write(out,<< ddddd>,a(ji) extract 12); if ji mod 12=0 then outchar(out,10); end; end; for i:=0 step 1 until top do a(i):=false; gr1:=1; repeat nx:=random(ri)*n; ai:=nx//12; ap:=nx mod 12; mask:= 1 shift ap; if a(ai) shift (-ap) extract 1 =0 then begin gr:=1; t:=nx; for i:=1 step 1 until c do begin rk(i):=t mod g; t:=t//g; end; for i:=1 step 1 until f do begin for j:=1 step 1 until c do rk1(j):=rk(j); for j:=1 step 1 until c-i+1 do begin up:=j-1+i; lo:=j; for k:=up step -1 until lo do begin rk1(k):=rk1(k)+1; if rk1(k)=g then rk1(k):=0; end; TT: nx1:=0; for k:=1 step 1 until c do nx1:=nx1+rk1(k)*g**(k-1); if a(nx1//12) shift (-(nx1 mod 12)) extract 1=0 then begin stak(gr):=nx1; gr:=gr+1; end else goto EX; k:=lo; TL: rk1(k):=rk1(k)+1; if rk1(k)=g then rk1(k):=0; if rk1(k)=rk(k) then begin if rk1(k)=0 then rk1(k):=g-1 else rk1(k):=rk1(k)-1; k:=k+1; if k>up then goto NE else goto TL; end; goto TT; NE: end; end; for i:=c step -1 until 1 do outchar(out,48+rk(i)); outchar(out,10); a(ai):=a(ai) or (false add mask); bb(gr1):=nx; gr1:=gr1+1; for i:=1 step 1 until gr-1 do begin mask:=stak(i)//12; a(mask):=a(mask) or (false add (1 shift (stak(i) mod 12))); write(out,stak(i),mask,stak(i) mod 12,<:<10>:>); end; end; skriva; EX: until gr1>max; end; end; ▶EOF◀