题目45 检查数组中是否存在满足规则的数组组合1(ok)

2023-11-09

给定一个正整数数组
检查数组中是否存在满足规则的数组组合
规则:
A=B+2C
输入描述
第一行输出数组的元素个数
接下来一行输出所有数组元素  用空格隔开
输出描述
如果存在满足要求的数
在同一行里依次输出 规则里 A/B/C的取值 用空格隔开
如果不存在输出0

示例1:
输入
4
2 7 3 0
输出
7 3 2
说明:
7=3+2*2
示例2:
输入
3
1 1 1
输出
0
说明找不到满足条件的组合

备注:
数组长度在3~100之间
数组成员为0~65535
数组成员可以重复
但每个成员只能在结果算式中使用一次
如 数组成员为 [0,0,1,5]
0出现两次允许,但结果0=0+2*0不允许  因为算式中使用了3个0

用例保证每组数字里最多只有一组符合要求的解

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ctype.h>

void Get2BData(int *list, int n)
{
    int i, j, k;

    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            for (k = 0; k < n; k++) {
                if (i != j && i != k && list[i] == list[j] + 2 *list[k]) {
                    printf("%d = %d + 2 * %d\n", list[i], list[j], list[k]);
                    return;
                }
            }
        }
    }

    printf("0\n");
    return;
}

int main()
{
    int n, i;
    int list[101] = {0};

    scanf("%d", &n);

    for (i = 0; i < n; i++) {
        scanf("%d", &list[i]);
    }
    Get2BData(list, n);
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

题目45 检查数组中是否存在满足规则的数组组合1(ok) 的相关文章

  • flutter中TextField光标偏移处理

    在flutter中当使用localizationsDelegates国际化之后 TextField输入框的光标出现了偏移错位的情况 只需要在style中加入textBaseline TextBaseline alphabetic就可以解决光

随机推荐