package main import ( "bufio" "os" "strings" "strconv" "math" "fmt" ) func main() { sc := bufio.NewScanner(os.Stdin) for sc.Scan() { strs := strings.Split(sc.Text(), ",") arr := make([]int, 0, len(strs)) var number, sum int for _, str := range strs { number, _ = strconv.Atoi(str) sum += number arr = append(arr, number) } // 假设数组序列为 0 1 2 3 4 5 // 为了得到第一个缺失值,我们需要计算从 0 ~ 6 的和,然后减去数组的和 // 0 1 2 3 4 6 // 在这种数组序列条件下,我们仍然是计算 0 ~ 6 的和(因为确实一个元素,导致后面元素都变大了),然后减去数组的和 sum1 := calculateSum(arr[0], arr[0]+len(arr)) fmt.Println(int(math.Abs(float64(sum1-sum)))) } } func calculateSum(left int, right int) int { return (left+right)*(right-left+1)/2 }