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;
}
C++ 计算奇数之和的累加和 - 算法题解

原文地址: https://www.cveoy.top/t/topic/phN9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录