为了账号安全,请及时绑定邮箱和手机立即绑定

加了种子之后,为什么变成相同的金额

https://img1.sycdn.imooc.com//5cb45c5600019eb109601030.jpg没加种子https://img1.sycdn.imooc.com//5cb45c9400013c6309601030.jpg加了种子


正在回答

3 回答

嗯,是的,课程中的main方法只是演示,并不是生成一个真实的红包序列,但同样的代码我在mac下也不会出现生成同样的数字的现象,这个问题还是需要找到原因的。你的代码实际上是生成了一个真实的序列,是没有问题的。

0 回复 有任何疑惑可以回复我~

您好!@慕粉4294199 可以参考infra/algo/algo_test.go:8 

TestSimpleRand

中的代码,例子中的方法并非生成一个实际的序列,只是随机演示的,代码如下:

func main() {
   count, amount := int64(10), int64(100)
   remain := amount * 100
   for i := int64(0); i < count; i++ {
      x := algo.SimpleRand(count-i, remain)
      remain -= x
      fmt.Print(float64(x)/float64(100), ",")
   }
   fmt.Println()

}


另外,课程中的例子我在mac os下运行时良好的,没有相同金额的问题。


0 回复 有任何疑惑可以回复我~

感觉是main算法问题我发现,https://img1.sycdn.imooc.com//5cb4753d0001d4a605450311.jpg应该这么写

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

加了种子之后,为什么变成相同的金额

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信