【编程题目 |100分】检查是否存在满足条件的数字组合【2021 考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【检查是否存在满足条件的数字组合】

给定一个正整数数组,检查数组中是否存在满足规则的数字组合

规则:A = B + 2C

输入描述

第一行输出数组的元素个数。

接下来一行输出所有数组元素,用空格隔开。

输出描述

如果存在满足要求的数,在同一行里依次输出规则里A/B/C的取值,用空格隔开。

如果不存在,输出0。

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4

2 7 3 0

输出

7 3 2

说明

7 = 3 + 2 * 2


解题思路


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

代码实现


C++


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int length = (int) nums.size();
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; i++) { cin >> nums[i]; } int length = (int) nums.size();
#include <bits/stdc++.h>

using namespace std;

int main() 
{
    int n;
    cin >> n;
    vector<int> nums(n);
    for (int i = 0; i < n; i++) {
        cin >> nums[i];
    }
    int length = (int) nums.size();

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.util.Scanner;
public class NumberCombination {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (s.hasNext()) {
int length = s.nextInt();
int[] arr = new int[length];
for (int i = 0; i < length; i++) {
arr[i] = s.nextInt();
}
import java.util.Scanner; public class NumberCombination { public static void main(String[] args) { Scanner s = new Scanner(System.in); while (s.hasNext()) { int length = s.nextInt(); int[] arr = new int[length]; for (int i = 0; i < length; i++) { arr[i] = s.nextInt(); }
import java.util.Scanner;

public class NumberCombination {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        while (s.hasNext()) {
            int length = s.nextInt();
            int[] arr = new int[length];
            for (int i = 0; i < length; i++) {
                arr[i] = s.nextInt();
            }

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python解法一


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import itertools
n = int(input())
nums = list(map(int, input().split()))
import itertools n = int(input()) nums = list(map(int, input().split()))
import itertools

n = int(input())
nums = list(map(int, input().split()))

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看


Python解法二


剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JavaScript


Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let n = Number(readLine());
let ints = readLine().split(" ").map(i=>parseInt(i));
let n = Number(readLine()); let ints = readLine().split(" ").map(i=>parseInt(i));
let n = Number(readLine());
let ints = readLine().split(" ").map(i=>parseInt(i));

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看