【藍橋杯】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;  }