- lizexuan's blog
1+3+5+...+n简便算法
- 2023-7-6 12:23:53 @
先看
输入 | 输出 |
---|---|
1 | 1 |
2 | |
3 | 4 |
4 | |
5 | 9 |
6 |
跟据上表可得:每次输出都应为完全平方数,我们仔细观察每个完全平方数,它恰恰等于因此可以得出以下公式
因此可以写出以下代码
pow((n + 1) / 2, 2)
完整代码
#define int64(n) ((long long)(n))
long long n;
cin >> n;
cout << int64(pow(((n + 1) / 2), 2)) << endl;
完整代码
//Code written by Li Zexuan (Looks handsome)
#include <bits/stdc++.h>
using namespace std;
#define int64(n) ((long long)(n))
int main() {
long long n;
cin >> n;
cout << int64(pow(((n + 1) / 2), 2)) << endl;
return 0;
}
正好洛谷开着就直接用洛谷了