当前位置: 代码迷 >> Java相关 >> 容易的java编程题
  详细解决方案

容易的java编程题

热度:8   发布时间:2016-04-22 20:27:09.0
简单的java编程题
已知整数: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;
}

}

}

  相关解决方案