Missing Number CSES 300题

题目大意:有1,2,…,n之间的所有数字,现在缺了一个,要求找到丢失的那个。
解决方法:由于是等差数列,用数列求和求出没有缺失时的和,然后与这些数字相减,最后剩下的就是缺失的那个。

要点 用途
1LL*(x) 将x变为long long
(n*(n+1))>>1 sum = 1+2+3+…+n
#include 
#define _for(i,a,b) for(int i=(a);i<(b);++i)
using namespace std;
int main() {
    int n; cin >> n;
    long long sum = (1LL*(n+1)*n)>>1;
    _for(i,1,n) {
        int t; cin >> t;
        sum -= t;
    }
    cout << sum;
    return 0;
}

你可能感兴趣的:(CSES,等差数列,求和,遍历,算法,缺失值)