已知整数:1,2,3,4,5,6,7,8
将上面这八个数字填入下面四个公式:
()- ()=1
()+()=9
()-() =2
()+()=7
怎么用java来证明此题无解?
------解决思路----------------------
package com.lq;
import java.util.ArrayList;
import java.util.List;
public class TestFullPermutation {
static String inString = "12345678";
static ArrayList<String> result =new ArrayList<String>();
public static void main(String[] args) {
for(String s1:fullPermutation(inString))
{
char[] temp = s1.toCharArray();
int[] testInteger = new int[8];
for (int i = 0; i < testInteger.length; i++) {
testInteger[i] = Integer.parseInt(""+temp[i]);
}
if(testInteger[0]-testInteger[1] == 1 &&
testInteger[2]+testInteger[3] == 9 &&
testInteger[4]-testInteger[5] == 2 &&
testInteger[6]+testInteger[7] == 7
)
{
result.add(s1);
}
}
if(!result.isEmpty())
{
for (String s2:result) {
System.out.println(s2);
}
}
else {
System.out.println("此题无解!!");
}
}
public static List<String> fullPermutation(String inString){
ArrayList<String> tempList = new ArrayList<String>();
if (inString.length() == 1) {
tempList.add(inString);
return tempList;
}
else {
char[] charArray= inString.toCharArray();
for (int i = 0; i < charArray.length; i++) {
String pickedCharString =charArray[i]+"";
String leftedString = inString.substring(0, i)+inString.substring(i+1,inString.length());
for(String s:fullPermutation(leftedString))
{
String result = pickedCharString + s;
tempList.add(result);
}
}
return tempList;
}
}
}