美文网首页
大数相加(go实现)

大数相加(go实现)

作者: pengtoxen | 来源:发表于2019-06-25 10:25 被阅读0次
package main

import "fmt"

//初始化数据
var a = []int{0, 2, 6, 1, 8, 9, 1, 0}
var b = []int{2, 2, 8, 1, 8, 9, 5, 0}
var r = make([]int, len(a))

//大数相加
func bigAdd(a []int, b []int, r []int) []int {
    for i := 0; i < len(a)-1; i++ {
        if a[i]+b[i] < 10 {
            r[i] = r[i] + a[i] + b[i]
        } else {
            r[i] = r[i] + (a[i]+b[i])%10
            r[i+1]++
        }
    }
    return r
}

func main() {
    ret := bigAdd(a, b, r)
    fmt.Println(ret)
}

输出

[2 4 4 3 6 9 7 0]

相关文章

网友评论

      本文标题:大数相加(go实现)

      本文链接:https://www.haomeiwen.com/subject/tbazqctx.html