@@ -56,18 +56,24 @@ func mul(a, b []byte) []byte {
c[i+j] += res
}
- mod, i := 0, 0
- for ; i < len(c); i++ {
+ mod := 0
+ for i := 0; i < len(c); i++ {
c[i] += byte(mod)
mod = int(c[i]-'0') / 10
c[i] = byte(int(c[i]-'0')%10 + '0')
- if c[i] == '0' && mod == 0 {
+ }
+ i := m + n
+ for ; 1 <= i; i-- {
+ if c[i-1] != '0' {
break
+ if i == 0 {
+ return c[:i+1]
return c[:i]
func main() {
- fmt.Println(pow(6))
+ fmt.Println(pow(9999))