描述:
在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。
输入第一行输入序列的长度n和k,用空格分开。
第二行输入序列中的n个整数,用空格分开。输出如果存在某两个元素的和为k,则输出yes,否则输出no。
样例输入
9 10 1 2 3 4 5 6 7 8 9
样例输出
yes思路:这题是用了递归,不用也可以,直接循环判断即可。代码如下:
1 #include<stdio.h> 2 int f() 3 { 4 int i,j,n,k; 5 int a[1001]; 6 scanf("%d%d",&n,&k); 7 for(i=0;i<n;i++) 8 { 9 scanf("%d",&a[i]); 10 for(j=i-1;j>=0;j--) 11 if(a[i]+a[j]==k) 12 return 1; 13 } 14 return 0; 15 } 16 int main() 17 { 18 if(f()) 19 printf("yes\n"); 20 else 21 printf("no\n"); 22 return 0; 23 }
时间: 2024-09-30 23:58:12