AcWing 794. 高精度除法 golang版本
原题链接
简单
作者:
alan_yang
,
2021-11-03 01:28:53
,
所有人可见
,
阅读 326
package main
import "fmt"
func div(a []int, b int) (c []int, r int) {
for i := 0; i < len(a); i++ {
r = r * 10 + a[i]
c = append(c, r / b)
r %= b
}
start := 0
for i := 0; i < len(c)-1; i++ {
start = i
if c[i] == 0 && c[i+1] != 0 {
break
}
}
if start+1 < len(c){
c = c[start+1:]
} else {
c = []int{0}
}
return c, r
}
func main() {
var a []int
var b int
var c string
fmt.Scanf("%s", &c)
for i := range c {
x := int(byte(c[i]) - '0')
a = append(a, x)
}
fmt.Scanf("%d", &b)
cc, r := div(a, b)
for i := 0; i < len(cc); i++ {
fmt.Printf("%d", cc[i])
}
fmt.Printf("\n%d", r)
}