给定一个正整数数组检查数组中是否存在满足规则的数组组合
规则: A=B+2C
输入描述
第一行输出数组的元素个数 接下来一行输出所有数组元素,用空格隔开 输出描述 如果存在满足要求的数 在同一行里依次输出 规则里 A/B/C的取值 用空格隔开 如果不存在输出0
示例1: 输入 4 2 7 3 0 输出 7 3 2 说明: 7=3+2*2
备注:
数组长度在3~100之间
数组成员为0~65535
数组成员可以重复
但每个成员只能在结果算式中使用一次,如数组成员为 [0,0,1,5]
0出现两次允许,但结果0=0+2*0不允许 因为算式中使用了3个0
用例保证每组数字里最多只有一组符合要求的解
import java.util.*;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] strArr = str.split(" ");
int index = 0;
int[] arr = new int[strArr.length];
for (int i = 0; i < strArr.length; i++)
arr[i] = Integer.parseInt(strArr[i]);
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++)
for (int j = 0; j < arr.length; j++)
for (int k = 0; k < arr.length; k++)
if ((arr[i] == arr[j] + 2 * arr[k]) && (i != j && i != k && j != k)) {
index++;
System.out.println(arr[i] + " " + arr[j] + " " + arr[k]);
}
if (index == 0) System.out.println(0);
}