请问怎么样才能够得到一个大与0小与等与16的随机数呀?(20分)

  • 主题发起人 主题发起人 衫菜
  • 开始时间 开始时间

衫菜

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎么样才能够得到一个大与0小与等与16的随机数呀?
 
i:=0;
while i=0 do
begin
Randomize;
i:=random(17)
end;
 
ABS(random(16) - 16)
 
Random(16)//默认从0开始;
 
浪费时间
他说的是:大与0小与等与16
 
Random(N)得到0---(N-1)的数值,所以Random(17)才是正确的结果啊!
 
Generates random numbers within a specified range.

Unit

System

Category

random number routines

function Random [ ( Range: Integer) ];

Description

Random returns a random number within the range 0 <= X < Range. If Range is not specified, the result is a real-type random number within the range

0 <= X < 1.

To initialize the random number generator, add a single call Randomize or assign a value to the RandSeed variable before making any calls to Random.

Note: Because the implementation of the Random function may change between compiler versions, we do not recommend using Random for encryption or other purposes that require reproducible sequences of pseudo-random numbers.
 
TO: WQL
你试一下random(1),看有什么结果
 
random(16)+1 OK? 绝对大于0 小于或等于16
 
楼上的方法很好,但如输出入文本中,注意格式的转换。
 
应该是Randow(16)+1,我同意。
 
0 <= random(16) < 16
1 <= random(16) + 1 < 17

我搞不懂为什么你们认为它是对的
 
我倒,请问1 <= random(16) + 1 < 17
和0 < random(16) + 1 <= 16 有什么区别?
 
多人接受答案了。
 
1 <= random(16) + 1 < 17
0 < random(16) + 1 <= 16

没有区别?

如果random()返回Integer或者说顶楼要的是Integer

当然没有区别

但是顶楼要的是一个随机数

没有说要Integer吧
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部