第一题需要用long,只用int不能全对 long duan = n / m; long sum = 0; for (int i = 0; i < duan; i++) { sum += (i % 2 == 0 ? -1 : 1) * m * m * i; } System.out.println(sum); 第二题坑在1000000007,计算组合时每步都要取模,不然只对60%