英文:
Big int ranges in Go
问题
在Go语言中,可以使用for循环来遍历两个大整数值x和y之间的区间。代码如下:
for i := x; i < y; i++ {
// 做一些操作
}
请注意,这里的x和y是大整数类型。如果你需要使用大整数类型,可以参考这里的Go语言官方文档。
英文:
Is there a way to loop over intervals between two big int values, x and y, in Go?
for i: = x; i < y; i++ {
// do something
}
答案1
得分: 8
使用大数进行计算可能有些笨拙,因为你需要为常量创建一个big.Int。除此之外,将for语句的每个部分替换为处理大整数的部分是一种直接的替换。
package main
import (
"fmt"
"math/big"
)
var one = big.NewInt(1)
func main() {
start := big.NewInt(1)
end := big.NewInt(5)
// i必须是一个新的big.Int,这样它就不会覆盖start
for i := new(big.Int).Set(start); i.Cmp(end) < 0; i.Add(i, one) {
fmt.Println(i)
}
}
链接:http://play.golang.org/p/pLSd8yf9Lz
英文:
Working with big numbers can be kind of clunky because you need to create a big.Int for constants. Other than that, it is a straight forward replacement of each segment of the for statement to one made to deal with big ints.
http://play.golang.org/p/pLSd8yf9Lz
package main
import (
"fmt"
"math/big"
)
var one = big.NewInt(1)
func main() {
start := big.NewInt(1)
end := big.NewInt(5)
// i must be a new int so that it does not overwrite start
for i := new(big.Int).Set(start); i.Cmp(end) < 0; i.Add(i, one) {
fmt.Println(i)
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论