RANDOMIZE FUNCTION RND100(q) ! 1〜100を乱数で出す。 OPTION BASE 0 DIM FL(100) DO LET X=INT(RND*100)+1 LOOP UNTIL FL(X)=0 LET FL(X)=1 LET RND100=X END FUNCTION PRINT PRINT "1000回 試行します" PRINT DIM F(100) LET C=0 LET D=0 FOR j=1 TO 1000 FOR i=1 TO 100 LET F(i)=RND100(i) NEXT i FOR i=1 TO 100 IF F(i)>50 THEN LET F(i)=O NEXT i LET A1=0 LET A2=0 LET A3=0 FOR i=1 TO 25 IF F(i)=1 THEN LET A1=1 IF F(i)=2 THEN LET A2=1 IF F(i)=3 THEN LET A3=1 NEXT i IF A1=1 AND A2=1 AND A3=1 THEN LET C=C+1 IF C=1 AND D=0 THEN PRINT "1,2,3 すべてが 25番目までに登場するケースの1例:" PRINT FOR i=1 TO 25 PRINT F(i); NEXT i PRINT FOR i=26 TO 100 PRINT F(i); NEXT i PRINT PRINT PRINT LET D=1 END IF MAT F=ZER MAT FL=ZER NEXT j PRINT "1,2,3 すべてが 25番目までに登場する確率:" PRINT LET Q=100*CMB(97,22)/CMB(100,25) PRINT " ";C/10;"% ( 理論値 =";ROUND(Q,2);"% )" PRINT END EXTERNAL FUNCTION CMB(n,r) LET C=1 FOR i=1 TO r LET C=C*(n-i+1)/i NEXT i LET CMB=C END FUNCTION