C++ 计算奇数之和的累加和 - 算法题解
C++ 计算奇数之和的累加和
题目描述
设 'f(x)' 表示 1 到 x 中所有奇数之和。
请计算出 'S(n) = f(1) + f(2) + f(3) + ... + f(n)'。
输入格式
一个正整数 'n'。
输出格式
一个正整数 'S(n)',表示计算结果。
样例 #1
样例输入 #1
6
样例输出 #1
28
样例 #2
样例输入 #2
101
样例输出 #2
88451
提示
'f(1) = 1'
'f(2) = 1'
'f(3) = 1 + 3 = 4'
'f(4) = 1 + 3 = 4'
'f(5) = 1 + 3 + 5 = 9'
'f(6) = 1 + 3 + 5 = 9'
'S(6) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) = 1 + 1 + 4 + 4 + 9 + 9 = 28'
数据范围
对于 30% 的数据,'n <= 10'
对于 100% 的数据,'n <= 500'
代码实现
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
long long sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
sum += (i + 1) / 2 * ((i + 1) / 2);
} else {
sum += (i / 2) * ((i / 2) + 1);
}
}
cout << sum << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/phN9 著作权归作者所有。请勿转载和采集!