解题思路:
- 题目意思比较简单,从后往前,根据当前个数的奇偶数来分别计算
- 这时就会有个问题,2个字符串长度问题,这里有个坑,只有等到2个字符串都循环到最后一位才停止,中间有一个字符串长度不够了,用0来补上
package main
import "fmt"
func main() {
var A, B string
var result []int
_, _ = fmt.Scanf("%s %s", &A, &B)
lengthA := len(A)
lengthB := len(B)
if lengthA > lengthB {
result = make([]int, lengthA+1)
} else {
result = make([]int, lengthB+1)
}
i:=0
for i=1; lengthA>0 || lengthB>0; i++ {
lengthB -= 1
lengthA -= 1
a := 0
b := 0
if lengthA >= 0 {
a = int(A[lengthA] - '0')
}
if lengthB >= 0 {
b = int(B[lengthB] - '0')
}
if i % 2 == 0 {
result[i] = b - a
if result[i] < 0 {
result[i] += 10
}
} else {
result[i] = (b + a) % 13
}
}
for j:=i-1; j>0; j-- {
if result[j] == 10 {
fmt.Printf("%c", 'J')
} else if result[j] == 11 {
fmt.Printf("%c", 'Q')
} else if result[j] == 12 {
fmt.Printf("%c", 'K')
} else
fmt.Printf("%d", result[j])
}
}
fmt.Println()
}