题目描述
有n个数字,值就是1~n,现发现丢失了2个数字,请你根据剩余的n-2个数字,编程计算一下,缺失的是哪两个数字呢?
输入
第1行为整数N(N<=100000)。
第2行有N-2个整数(均用空格隔开)表示了剩下N-2个数字的值。
输出
一行,按数字从小到大顺序输出两缺失的数字。两个数字之间用一个空格隔开。
样例输入复制
6
4 3 1 5
样例输出复制
2 6
本人代码
#include
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
int y,f=0,max=0,min=0;
int a,a1;
int i,j;
int b=0,b1=0;
int m;
int ji=0;
cin>>a;
int x[a]={0};
int x1[a]={0};
a=a-2;
for(i=0;i<a;i++){
scanf("%d",&x[i]);
}
for(i=1;i<=a+2;i++){
x1[ji]=i;
ji++;
}
for(i=0;i<a+2;i++){
int ji=0;
for(j=0;j<a;j++){
if(x1[i]==x[j]){
ji++;
}
}
if(ji==0){
cout<<x1[i]<<" ";
}
}
}
前面一些变量不用在意,是懒得删。这道题,在刷题站一直时间超限,或者运行错误,应该有更加标准的解法,求告知。
【+-+】