中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 11:30
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何模拟或者设计出一个概率? 查看 829 回复 3
楼 主 如何模拟或者设计出一个概率? 发表于 2007-07-30 09:30 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
set /p n=输入一个概率:(概率为0-100,概率越大中的几率越大)
当 n 为 1 时,有1%的几率执行 echo 你对了.
当 n 为 2 时,有2%的几率执行 echo 你对了.
...
当 n 为 100 时,有100%的几率执行 echo 你对了.

该怎么写呢?
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
2 发表于 2007-07-30 20:14 ·  中国 甘肃 兰州 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
你不是已经写出来了吗?
3 发表于 2007-07-30 20:26 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
根据概率动态生成一个表就可以了。

比如10%的概率
你可以在概率表中写1个假值9个真值,
然后再随机选取表中的值就可以了。
4 发表于 2007-08-01 11:00 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
回 vkill 兄,那回我没写出来阿,我只是将问题提出来
经过 youxi01 的帮助,已经有结果了

@echo off
set /p n=输入一个概率:(概率为0-100,概率越大中的几率越大)
call :do %n%
pause
exit
:do
set /a rnd1=%random%%%9,rnd2=%random%%%9
set /a rnd=1%rnd1%%rnd2%-100
if %rnd% EQU 0 set/a rnd=100
if %rnd% leq %1 echo 正确
pause>nul
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
论坛跳转: