9 条题解
-
1
这道题目可以使用高斯求和公式来解决,即将n个数的和减去n(n+1)/2,剩下的就是缺失的数字。具体思路如下:
- 读入n和n-1个卡片编号。
- 对n个数进行求和,保存在sum中。
- 使用高斯求和公式计算1到n的和,保存在total中。
- 缺失的数字就是total-sum,输出即可。
#include <iostream> using namespace std; int main() { int n, sum = 0; cin >> n; for (int i = 1; i < n; i++) { int card; cin >> card; sum += card; // 对n-1个卡片进行求和 } int total = n * (n + 1) / 2; // 计算1到n的和 cout << total - sum << endl; // 缺失的数字就是total-sum return 0; }
信息
- ID
- 2953
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 692
- 已通过
- 255
- 上传者