编程题#4:找和为K的两个元素

描述

在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。

 

输入

第一行输入序列的长度n和k,用空格分开。

第二行输入序列中的n个整数,用空格分开。

 

输出

如果存在某两个元素的和为k,则输出yes,否则输出no。

#include <iostream>
using namespace std;
int a[1000] = {0};
int main() {
    int n, k, i, j, flag = 0;
    cin >> n >> k;
    for (int z = 0; z < n; z++) 
        cin >> a[z];
    for (i = 0; i <= n - 2; i++) {
        for (j = i + 1; j <= n - 1; j++) {
            if (a[i] + a[j] == k) {
                flag = 1;
                break;
            }
        }
        if (flag) 
            break;
    }
    if (!flag)
        cout << "no" << endl;
    else 
        cout << "yes" << endl; 
    return 0;
}

 

posted on 2017-10-26 13:01  平行线不会相交  阅读(724)  评论(0)    收藏  举报

导航