2230. 数列求和

1000ms 256MB 简单 循环
题目描述
sum=2+5+8+11+14+…,输入正整数 n,求 sum 的前 n 项和。
输入格式
输入一个正整数 n。
输出格式
输出一个整数表示答案。
样例 1
输入 (Input)
2
输出 (Output)
7
1≤n≤232−1
// 手写 __int128 的输出函数
void print128(__int128 n) {
    if (n > 9) {
        print128(n / 10);
    }
    cout << (char)('0' + n % 10);
}

int main() {
    // 题目范围 n <= 2^32 - 1,用 long long 读入 n 足够了
    long long n;
    cin >> n;

    // 核心:将 n 转换为 __int128 进行计算,防止任何溢出
    __int128 N = n;
    __int128 ans = N * (3 * N + 1) / 2;

    // 输出答案
    print128(ans);
    cout << endl;

    return 0;
}

自测终端 stdin → stdout
输入 stdin
CtrlShiftEnter
输出 stdout

                
错误 stderr

                
CtrlEnter提交
自动保存已开启
操作成功
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字