划分大量数字(big.Int)

elv*_*nas 7 go

我试图划分两个大数字(例如试图将50!除以18!)并且我设置了两个big.Int变量.

first.MulRange(1,50)

second.MulRange(1,18)
Run Code Online (Sandbox Code Playgroud)

如何划分数字(理想情况下是整数除法)?

谢谢!

Nic*_*nov 8

我怎么能分数

通过调用(在这种情况下)数据类型的Div()方法Int.("数学/大"包)

first := new(big.Int).MulRange(1, 50)
second := new(big.Int).MulRange(1, 18)

fmt.Printf("First: %s \n", first.String())
fmt.Printf("Second: %s \n", second.String())
// division
dv := new(big.Int).Div(first, second)

fmt.Printf("Division result: %s \n", dv.String())
Run Code Online (Sandbox Code Playgroud)

结果:

First: 30414093201713378043612608166064768844377641568960512000000000000
Second: 6402373705728000
Division result: 4750440164794325701367714688167999176704000000000
Run Code Online (Sandbox Code Playgroud)