-
大小: 3KB文件類(lèi)型: .java金幣: 1下載: 0 次發(fā)布日期: 2021-06-07
- 語(yǔ)言: Java
- 標(biāo)簽: Java??24點(diǎn)游戲??
資源簡(jiǎn)介
既可以實(shí)現(xiàn)24點(diǎn)游戲,也可以實(shí)現(xiàn)其他數(shù)值的游戲
代碼片段和文件信息
package?niuke;
import?java.util.Scanner;
public?class?Point24?{
private?static?double?Threshold?=?1E-6;
private?static?int?CardNumber?=?4;
private?static?int?ResultValue?=?24;
private?static?double[]?number?=?new?double[CardNumber];
private?static?String[]?result?=?new?String[CardNumber];
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
while(sc.hasNextLine()){
for(int?i=0;i<4;i++){
number[i]?=?sc.nextInt();
}
Point24?fn?=?new?Point24();
if(fn.PointGame(4)){
System.out.println(“true“);
}
else{
System.out.println(“false“);
}
}
}
/**
?*?窮舉法
?*?
?*?if(Array){
?*? if(Array.length?2){
?*? if(得到的最終結(jié)果為24)?輸出表達(dá)式
?*? else?輸出無(wú)法構(gòu)造符合要求的表達(dá)式
?*? }
?*??foreach(從數(shù)組中任取兩個(gè)數(shù)的組合){
?*???foreach(運(yùn)算符(+-*/)){
?*??? 1.計(jì)算該組合在此運(yùn)算符下的結(jié)果?
?*??? 2.將該組合中的兩個(gè)數(shù)從原數(shù)組中移除,并將步驟1的計(jì)算結(jié)果放入數(shù)組
?*??? 3.對(duì)新數(shù)組遞歸調(diào)用f如果找到一個(gè)表達(dá)式則返回
?*??? 4.將步驟1的計(jì)算結(jié)果移除,并將該組合中的兩個(gè)數(shù)重新放回?cái)?shù)組中對(duì)應(yīng)的位置
?*???}
?*??}
?*?}
?*/
public?boolean?PointGame(int?n){
if(n==1){
if(Math.abs(number[0]?-?ResultValue)? return?true;
}
else
return?false;
}
for(int?i=0;i for(int?j=i+1;j
評(píng)論
共有 條評(píng)論