|
|

楼主 |
发表于 2023-5-1 11:41:20
|
显示全部楼层
贵州省黔东南苗族侗族自治州
King子辛 发表于 2023-4-30 17:41
[/quote ]被我修改了一下已经可以用了,谢谢大神 [e=0 ].版本 2 | 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 概率 | 整数型 | | 8 | | 红包数量 | 整数型 | | 0 | | 最大随机数 | 整数型 | | | | i | 整数型 | | | | 随机数 | 整数型 | | | | 红包金额 | 整数型 | | 8 |
概率 = { 1, 10, 20, 40, 100, 500, 2000, 5000 }加入成员 (红包数量, 一千 )加入成员 (红包数量, 五百 )加入成员 (红包数量, 三百 )加入成员 (红包数量, 两百 )加入成员 (红包数量, 一百 )加入成员 (红包数量, 五十 )加入成员 (红包数量, 三十 )加入成员 (红包数量, 二十 ) 红包金额 = { 1000, 500, 300, 200, 100, 50, 30, 20 }调试输出 (红包数量 )置随机数种子 ()最大随机数 = 0 计次循环首 (取数组成员数 (红包数量 ), i ) 如果真 (红包数量 [i ] > 0 )  最大随机数 = 最大随机数 + 概率 [i ]  计次循环尾 () 如果真 (最大随机数 > 0 ) 随机数 = 取随机数 (1, 最大随机数 )  判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ])   红包数量 [1 ] = 红包数量 [1 ] - 1  更新信息 (7 ) 调试输出 (“红包金额”, 红包金额 [1 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ])   红包数量 [2 ] = 红包数量 [2 ] - 1  更新信息 (6 ) 调试输出 (“红包金额”, 红包金额 [2 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ] + 概率 [3 ])   红包数量 [3 ] = 红包数量 [3 ] - 1  更新信息 (5 ) 调试输出 (“红包金额”, 红包金额 [3 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ] + 概率 [3 ] + 概率 [4 ])   红包数量 [4 ] = 红包数量 [4 ] - 1  更新信息 (4 ) 调试输出 (“红包金额”, 红包金额 [4 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ] + 概率 [3 ] + 概率 [4 ] + 概率 [5 ])  红包数量 [5 ] = 红包数量 [5 ] - 1  更新信息 (3 ) 调试输出 (“红包金额”, 红包金额 [5 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ] + 概率 [3 ] + 概率 [4 ] + 概率 [5 ] + 概率 [6 ])  红包数量 [6 ] = 红包数量 [6 ] - 1  更新信息 (2 ) 调试输出 (“红包金额”, 红包金额 [6 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ] + 概率 [3 ] + 概率 [4 ] + 概率 [5 ] + 概率 [6 ] + 概率 [7 ])  红包数量 [7 ] = 红包数量 [7 ] - 1  更新信息 (1 ) 调试输出 (“红包金额”, 红包金额 [7 ], “随机数”, 随机数 ) 判断 (红包数量 [1 ] > 0 且 随机数 ≤ 概率 [1 ] + 概率 [2 ] + 概率 [3 ] + 概率 [4 ] + 概率 [5 ] + 概率 [6 ] + 概率 [7 ] + 概率 [8 ])  红包数量 [8 ] = 红包数量 [8 ] - 1  更新信息 (8 ) 调试输出 (“红包金额”, 红包金额 [8 ], “随机数”, 随机数 )  
被我修改了一下已经可以用了,谢谢大神
[e=0].版本 2
.支持库 spec
.子程序 概率算法3
.局部变量 概率, 整数型, , "8"
.局部变量 红包数量, 整数型, , "0"
.局部变量 最大随机数, 整数型
.局部变量 i, 整数型
.局部变量 随机数, 整数型
.局部变量 红包金额, 整数型, , "8"
概率 = { 1, 10, 20, 40, 100, 500, 2000, 5000 }
加入成员 (红包数量, 一千)
加入成员 (红包数量, 五百)
加入成员 (红包数量, 三百)
加入成员 (红包数量, 两百)
加入成员 (红包数量, 一百)
加入成员 (红包数量, 五十)
加入成员 (红包数量, 三十)
加入成员 (红包数量, 二十)
' 红包数量 = { 一千, 五百, 三百, 两百, 一百, 五十, 三十, 二十 }
红包金额 = { 1000, 500, 300, 200, 100, 50, 30, 20 }
调试输出 (红包数量)
置随机数种子 ()
最大随机数 = 0
.计次循环首 (取数组成员数 (红包数量), i)
.如果真 (红包数量 > 0)
最大随机数 = 最大随机数 + 概率
.如果真结束
.计次循环尾 ()
' 调试输出 (最大随机数)
.如果真 (最大随机数 > 0)
随机数 = 取随机数 (1, 最大随机数)
' 调试输出 (随机数)
' 调试输出 (“软件运行到这”)
' 调试输出 (红包数量 [1])
.判断开始 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1])
' 调试输出 (“软件运行到判断一千红包这”)
红包数量 [1] = 红包数量 [1] - 1
更新信息 (7)
调试输出 (“红包金额”, 红包金额 [1], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2])
' 调试输出 (“软件运行到判断五百红包这”)
红包数量 [2] = 红包数量 [2] - 1
更新信息 (6)
调试输出 (“红包金额”, 红包金额 [2], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2] + 概率 [3])
' 调试输出 (“软件运行到判断三百红包这”)
红包数量 [3] = 红包数量 [3] - 1
更新信息 (5)
调试输出 (“红包金额”, 红包金额 [3], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2] + 概率 [3] + 概率 [4])
' 调试输出 (“软件运行到判断两百百红包这”)
红包数量 [4] = 红包数量 [4] - 1
更新信息 (4)
调试输出 (“红包金额”, 红包金额 [4], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2] + 概率 [3] + 概率 [4] + 概率 [5])
红包数量 [5] = 红包数量 [5] - 1
更新信息 (3)
调试输出 (“红包金额”, 红包金额 [5], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2] + 概率 [3] + 概率 [4] + 概率 [5] + 概率 [6])
红包数量 [6] = 红包数量 [6] - 1
更新信息 (2)
调试输出 (“红包金额”, 红包金额 [6], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2] + 概率 [3] + 概率 [4] + 概率 [5] + 概率 [6] + 概率 [7])
红包数量 [7] = 红包数量 [7] - 1
更新信息 (1)
调试输出 (“红包金额”, 红包金额 [7], “随机数”, 随机数)
.判断 (红包数量 [1] > 0 且 随机数 ≤ 概率 [1] + 概率 [2] + 概率 [3] + 概率 [4] + 概率 [5] + 概率 [6] + 概率 [7] + 概率 [8])
红包数量 [8] = 红包数量 [8] - 1
更新信息 (8)
调试输出 (“红包金额”, 红包金额 [8], “随机数”, 随机数)
.默认
|
|