PRINT PRINT " 1〜99の自然数から、重複を許して任意に4つを選んで、" PRINT "小さい順に並べます。 5回行います。" PRINT "マージソートという手法をつかっています。" PRINT DIM A(4),B(2) SUB MRG1(m(),n()) DIM x(4) IF m(1)>n(1) THEN LET x(1)=n(1) IF m(1)>n(2) THEN LET x(2)=n(2) LET x(3)=m(1) LET x(4)=m(2) ELSE LET x(2)=m(1) IF n(2)>m(2) THEN LET x(3)=m(2) LET x(4)=n(2) ELSE LET x(3)=n(2) LET x(4)=m(2) END IF END IF ELSE LET x(1)=m(1) IF n(1)>m(2) THEN LET x(2)=m(2) LET x(3)=n(1) LET x(4)=n(2) ELSE LET x(2)=n(1) IF m(2)>n(2) THEN LET x(3)=n(2) LET x(4)=m(2) ELSE LET x(3)=m(2) LET x(4)=n(2) END IF END IF END IF END SUB SUB MRG2(s,t) DIM y(2) IF s>t THEN LET y(1)=t LET y(2)=s ELSE LET y(1)=s LET y(2)=t END IF END SUB LET C=0 DO WHILE C<5 MAT A=ZER(4) FOR i=1 TO 4 LET A(i)=INT(RND*99)+1 NEXT i CALL MRG2(A(1),A(2)) LET B(1)=y(1) LET B(2)=y(2) CALL MRG2(A(3),A(4)) CALL MRG1(B,y) MAT PRINT x; LET C=C+1 LOOP END