测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22787. 丢失的数字

填空题 较易

题目描述

丢失的数字

题目描述

述给定整数n和一个包含n-1个整数的序列,该序列由区间[1,n]内的n-1个互异整数组成。请找出该区间内缺失的唯一整数。

输入格式

第一行:一个整数n;

第二行:n-1个整数。

输出格式

一个整数,表示丢失的数字。

输入样例#1

6
1 2 5 6 3

输出样例#1

4

输入样例#2

10
7 2 3 9 4 8 1 6 10

输出样例#2

5

参考答案

#include<iostream> int main(){ int n,s,d; std::cin>>n; s=(1+n)*n/2; for(int i=1;i<=n-1;i++){ std::cin>>d; s-=d; } std::cout<<s; return 0; }

答案解析

// 求和法
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    // 计算 1 到 n 的和:n*(n+1)/2
    int total = n * (n + 1) / 2;
    int sum = 0, x;
    for (int i = 0; i < n - 1; ++i) {
        cin >> x;
        sum += x;
    }
    // 总和减去数组和,得到丢失的数字
    cout << total - sum << endl;
    return 0;
}



上一题 下一题