题意

把一个整数分为前后两部分,和为偶数的方案数

思路

最朴素的思路,枚举切割的位置并且把前后两部分的数算出来,计算和。

但是实际上奇偶性只需要关心最后一位的奇偶性,所以只需计算切割后两个数的个位数的和。

具体而言,枚举切割的位置,i表示第i个位置的数是前一部分的个位数,后半部分的个位数始终是整数s的个位数,计算和并判断奇偶。

Go代码

package main

import (
    "fmt"
)

func main() {
    var s string 
    fmt.Scan(&s)
    var ans int 
    lastDigit := s[len(s)-1] - '0'
    for i := 0; i < len(s) - 1; i ++ {
        if (s[i] - '0' + lastDigit) % 2 == 0 {
            ans++
        }
    }
    fmt.Println(ans)
}