/*
2014-10-19
by 不吃青瓜
*/
/*
原题大概意思:
给定一个数组a[10],数据范围 1-15
另外给定一个数字 x,范围 2-10
问是否能在数组 a 中找到两个数字的和等于 x
*/
#include<stdio.h>
bool findIt(int *arr , int n, int x)
{
int temp[16];
int i;
for( i=0;i<16;i++)
temp[i]=0;
for( i=0;i<n;i++)
temp[arr[i]]++;
for( i=1;i<x/2;i++)
{
if(temp[i]!=0 && temp[x-i]!=0)
return true;
}
if(x%2==0)
if(temp[x/2]>1)
return true;
return false;
}
int main()
{
int arr[10]={6,5,3,2,4,8,9,5,4,14};
int x = 10;
if(findIt(arr,10,3))
printf("YES\n");
else printf("NO\n");
getchar();
getchar();
return 0;
}
给定一个数组和一个数字,给定的数组里是否存在两个数字之和等于给定的数字
最新推荐文章于 2024-08-05 18:43:37 发布