首先由等差公式有,,代入,长度,等比间隔,求得首项,加上 x 又为非负整数,故可以每次对于 L 求得 x,看 x 是否为非负整数,如果为非负整数则输出结果,否则L++,进行下一轮的判断。最后不要忘了如果长度L>100的话,属于找不到,就输出No。 package main import ( "fmt" "math" ) func main() { var N, L int _, _ = fmt.Scanf("%d %d", &N, &L) // x = (N/L) - (L-1)/2 for L <= 100 { ...