RANDOMIZE OPTION BASE 0 DIM FL(5),S(5),T(5),D(5) FUNCTION RND5(q) ! 1〜5を乱数で出す。ただし1度出た数はださない。 DO LET X=INT(RND*5)+1 LOOP UNTIL FL(X)=0 LET FL(X)=1 LET RND5=X END FUNCTION LET C=0 FOR j=1 TO 1000 FOR i=1 TO 5 LET S(i)=RND5(i) NEXT i FOR i=1 TO 5 LET T(i)=i NEXT i CALL syafl(T,5) FOR i=1 TO 5 LET D(i)=T(i) NEXT i FOR i=1 TO 5 IF S(i)=D(i) THEN LET C=C+1 EXIT FOR END IF NEXT i IF j=1 THEN PRINT FOR i=1 TO 5 PRINT S(i); NEXT i PRINT PRINT FOR i=1 TO 5 PRINT D(i); NEXT i PRINT PRINT PRINT "上下が1つでも同じ数になっているか? " PRINT " ( 1 : はい 0 : いいえ ) ⇒ ";C PRINT END IF MAT FL=ZER MAT S=ZER MAT T=ZER MAT D=ZER NEXT j PRINT "以上のようなことを1000回施行しました。" PRINT "上下が1つでも同じ数になっていたのは ";C;"回 でした。" PRINT END EXTERNAL SUB syafl(Z(),M) DIM G(M,M) FOR i=1 TO M LET G(1,i)=i NEXT i FOR i=1 TO M-1 LET H=INT(RND*(M-i+1)) LET Z(i)=G(i,H+1) FOR j=1 TO M IF j>=M-i+1 THEN LET G(i+1,j)=-1 GOTO 10 END IF IF G(i,j)