课程
下载APP
源自:-

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

https://img4.mukewang.com/5cb45c5600019eb109601030.jpg没加种子https://img4.mukewang.com/5cb45c9400013c6309601030.jpg加了种子


提问者:慕粉4294199 2019-04-15 18:28

3个回答

  • 枫荇
    2019-04-17 09:17

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

  • 枫荇
    2019-04-16 18:01

    您好!@慕粉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下运行时良好的,没有相同金额的问题。


  • 慕粉4294199
    2019-04-15 20:14

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