专栏文章

P1001 A+B Problem

P1001题解参与者 7已保存评论 6

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
6 条
当前快照
1 份
快照标识符
@mipcyp8g
此快照首次捕获于
2025/12/03 09:58
3 个月前
此快照最后确认于
2025/12/03 09:58
3 个月前
查看原文
一看到加法即可想到公差为 11 等差数列求和。
aa 为末项,则: (1+a)×(a÷2)=1+2+3+...+a(1 + a) \times (a \div 2) = 1+2+3+...+a
那么 a+ba + b 为末项为: (1+(a+b))×((a+b)÷2)(1 + (a+b)) \times ((a+b) \div 2)
a+ba + b(1+(a+b))×((a+b)÷2)(1+(a+b1))×((a+b1)÷2)(1 + (a+b)) \times ((a+b) \div 2)-(1 + (a+b-1)) \times ((a+b-1) \div 2)
即可。

code:

CPP
#include <bits/stdc++.h>
using namespace std;
double a, b; // int会错

double f(double s) {
	return (1 + s) * (s / 2);
}

int main() {
	cin >> a >> b;
	cout << int(f(f(a + b) - f((f(f(a + b) - f(a + b - 1)) - f(a + b - 1)) - 1)) - f(a + b - 1)); // 理论上来说这里叠多少层都可以
	return 0;
}

评论

6 条评论,欢迎与作者交流。

正在加载评论...