问题:给一个由 n-1 各整数组成的未经排序的数列,其元素都是 1--n 中的不同的整数。如何找出缺失的整数??
算法设计:采用求和法进行查找。
#include<iostream>
using namespace std;
//找出数列中符合条件的数对的个数
int Find_lost(int *a,int n)
{
int sum=0,sum1=0;
for(int i=0;i<n;i++)
{
sum+=a[i];
sum1+=i;
}
int result=sum1+n-sum;
return result;
}
int main()
{
int a[]={0,1,3,5,8,9,2,4,6};
int length_a=sizeof(a)/sizeof(a[0]);
int Num=Find_lost(a,length_a);
cout<<"缺失的数字为:"<<Num<<endl;
system("pause");
return 0;
}
输出结果为: