注册 登录
编程论坛 C++教室

求教:产生2到2^54之间的随机数怎么写?

汤圆阿门 发布于 2007-12-01 14:01, 1279 次点击
如题
9 回复
#2
freeforever2007-12-01 16:08
这个问题有点难度
int rand( void );是函数的定义,你要的2^54超出范围了,
可以试试数组拼接的方法
#3
天使梦魔2007-12-01 16:08
rand()/54
除余就可以了,着是0-54
2的话加个条件语句。如果生成0-1就再次生成随机数一次





。。。。。。。。。。
看错,还以为是2到54
#4
汤圆阿门2007-12-02 00:59
原帖由 [bold][underline]freeforever[/underline][/bold] 于 2007-12-1 16:08 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1125882&ptid=189725][/url]
这个问题有点难度
int rand( void );是函数的定义,你要的2^54超出范围了,
可以试试数组拼接的方法
怎么写呢?
#5
xijunhua2007-12-02 23:46
数字太大的写不来
#6
zxj11022007-12-03 02:54
可以先随机生成 0-53
构造 一个 数组 index  = 0 对应 2 ,index = 1 对应 2^2, 以此类推
#7
a4027303242007-12-03 09:07
有库函数可以使用的分别是pow和rand()
(rand()+2)%pow(2,54);
#8
lyixh2007-12-04 14:31
原帖由 [bold][underline]a402730324[/underline][/bold] 于 2007-12-3 09:07 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1127410&ptid=189725][/url]
有库函数可以使用的分别是pow和rand()
(rand()+2)%pow(2,54);

rand()产生的随机数范围好象只有几千哦
除个pow(2,54);基本还是原数
#9
忘记喧嚣2007-12-04 16:45
黑 把那随即数 %54后 后当指数就对了嘛
#10
rainyee2007-12-06 00:01
rep
兄台,你搞密码学的吧?呵呵
1