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;
}
上一题
下一题