ran3.txt
来自「VB常用数值算法集 内含有解线性代数方程组」· 文本 代码 · 共 35 行
TXT
35 行
Static Function RAN3(IDUM&)
MBIG& = 1000000000: MSEED& = 161803398: MZ& = 0: FAC = 0.000000001
Dim MA&(55)
If IDUM& < 0 Or IFF = 0 Then
IFF = 1
MJ& = MSEED& - Abs(IDUM&)
MJ& = MJ& - MBIG& * Int(MJ& / MBIG&)
MA&(55) = MJ&
MK& = 1
For I = 1 To 54
II = (21 * I) - 55 * Int((21 * I) / 55)
MA&(II) = MK&
MK& = MJ& - MK&
If MK& < MZ& Then MK& = MK& + MBIG&
MJ& = MA&(II)
Next I
For K = 1 To 4
For I = 1 To 55
MA&(I) = MA&(I) - MA&(1 + I + 30 - 55 * Int((I + 30) / 55))
If MA&(I) < MZ& Then MA&(I) = MA&(I) + MBIG&
Next I
Next K
INEXT = 0
INEXTP = 31
IDUM& = 1
End If
INEXT = INEXT + 1
If INEXT = 56 Then INEXT = 1
INEXTP = INEXTP + 1
If INEXTP = 56 Then INEXTP = 1
MJ& = MA&(INEXT) - MA&(INEXTP)
If MJ& < MZ& Then MJ& = MJ& + MBIG&
MA&(INEXT) = MJ&
RAN3 = MJ& * FAC
End Function
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?