【藍橋杯】BEGIN-2 序列求和
- 2019 年 11 月 8 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/weixin_42449444/article/details/86562681
題目描述:
求1+2+3+…+n的值。
輸入格式:
輸入包括一個整數n(1 <= n <= 1,000,000,000)。
輸出格式:
輸出一行,包括一個整數,表示1+2+3+…+n的值。
輸入樣例1:
4
輸出樣例1:
10
輸入樣例2:
100
輸出樣例2:
5050
解題思路:
這道題最重要的資訊,沒有之一:1 <= n <= 1,000,000,000。這說明要用long long型,而且肯定不能無腦for循環累加求和。
那就套公式吧:(首項+末項)*項數/2。
AC程式碼:
#include <bits/stdc++.h> using namespace std; int main() { long long n; cin >> n; long long sum = (1+n)*n/2; //(首項+末項)*項數/2 cout << sum << endl; return 0; }