それでもダメなんです… 確かに4096と1しか離れていない4095を使えば「互に素」ですから周期は伸びるんですが… 今度は近すぎて乱数じゃなくなっちゃう。 こちらを動かしてみてください。(たぶんmkIIで動く) X=0:Y=0:DIM C[16] FOR I=0 TO 10000 GOSUB @RND:X1=(X AND 3):GOSUB @RND:X1=(X AND 3) J=X1+X2*4:C(J)=C(J)+1 NEXT FOR I=0 TO 15 PRINT STR$(C(I))+"/"; NEXT END @RND Y=(Y+1)%4095:X=(X*117+Y)%4096 RETURN