```c
cout << (long long)(a1 + (a2 - a1) * (n - 1)) * n / 2;
```
应该是这里的问题 等差求和公式(头+尾)* 个数 / 2
应该是先求出来最后一项,再套公式
而最后一项就是你的
(a1 + (a2 - a1) * (n - 1))了
最后求和
```c
long long last = (a1 + (a2 - a1) * (n - 1));
cout << (a1 + last) * n / 2 << endl;
```
by AlexKun @ 2023-03-04 11:44:47
原代码问题就是直接(尾 * 个数 / 2)
by AlexKun @ 2023-03-04 11:46:16
AC代码
```c
#include <iostream>
using namespace std;
int main()
{
long long a1, a2, n;
cin >> a1 >> a2 >> n;
long long last = (a1 + (a2 - a1) * (n - 1));
cout << (a1 + last) * n / 2 << endl;
return 0;
}
```
by AlexKun @ 2023-03-04 11:48:50
谢谢。。。。。。~~怎么是你啊~~?
by 13813675795hzq @ 2023-03-04 19:44:47