[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我明白了,又学到了

TOP

太感谢了,正为这事发愁呢

TOP

回复 7楼 的帖子

是的,应该+16才对
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

5楼的这样算的话应该取不到75的吧?

TOP

回复 5楼 的帖子

两个例子中不知道你要不要 100 和 75 呢?

就像从 2 到 3 有几个数呢,是两个(有 2、3),3 - 2 = 1 只有 1 个,不对,
应该是 3 - 2  + 1 = 2 有两个才对。

还有我的名字你写错了。

TOP

我明白来

非常感谢 wxcute 病疼,我明白了
  1. @echo off
  2. set /a n=%random% %% 10
  3. echo %n%
  4. pause >nul
  5. %0
复制代码


举个例子,如果想要得到 10到100之见的数怎么办呢?
我写个。哈哈
  1. @echo off
  2. set /a n=%random% %%90  + 10
  3. echo %n%
  4. pause >nul
  5. %0
复制代码

所以我们得出个结论,如果是想要得到 15 到75呢
就得set /a n=%random% %%60  + 15
很简单。。就是75-15  再加上15


TOP

第一层有点错误,已更改

回复 2楼 的帖子

举个例子吧
set /a n=%random% %% 10
这个随机数 n 就是从 0 - 9 之间的任一个数。
因为是取余运算,如果 %random% 除以 10 是整数,那么余数就是 0;
10 mod 10 = 1 …… 0
30 mod 10 = 3 …… 0
100 mod 10 = 10 …… 0
如果不能整除,那么余数就是 1 - 9;
9 mod 10 = 0 …… 9
18 mod 10 = 1 …… 8
23 mod 10 = 2 …… 3
……
任何数除以 10 取余数都不会等于 10 的,对不对。

所以一个随机数 m 对 n 取余,得到的 n 也是随机数,范围就是从 0 到 n-1。

不知你明白了没有。

TOP

学习了!
以前就没想过!
本人已死!不用联系!~
要联系下来联系!~~

TOP

set /a Rn=%random%%%68
这里的68是否就限制了random出现的随机数经取余后必须 leq 68,可以这么理解吗

谢谢版主在楼下的讲解,已经完全明白了其中的道理,!!

[ 本帖最后由 hlzj88 于 2008-11-18 13:41 编辑 ]
目的,学习批处理

TOP

返回列表