题目描述

求1+2+3+…+n的值。

输入格式

输入包括一个整数n。

输出格式

输出一行,包括一个整数,表示1+2+3+…+n的值。

样例输入

4

样例输出

10

样例输入

100

样例输出

5050

数据规模与约定

1 <= n <= 1,000,000,000。

思路

计算1 … n的和

注意,递归一定暴栈,循环一定超时

要使用数学公式对其进行归纳

参考代码

#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[])
{
long long n = 0 ;
cin >> n ;
long long sum = 0 ;
if (n % 2 == 0) {sum = n /2 * n + n / 2;}
else {sum = n/2 * n + n;}
cout << sum ;
return 0;
}

蓝桥杯初级题目总结

1.不要使用递归,必须使用动规

2.注意每个题都极大可能有其对应数学公式(即一定有优化部分),否则一定超时

谢谢访问