日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java速算24,Java扑克牌速算24的方法

發(fā)布時(shí)間:2025/3/21 java 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java速算24,Java扑克牌速算24的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

已知一副撲克牌有54張,去除大王和小王,剩余52張。在其中隨機(jī)抽取4張牌,利用加減乘除進(jìn)行計(jì)算得到24. 從A到10,他們的值分別為1到10. 從J到K,他們對應(yīng)的值是減去10以后的值。編寫程序生成一副撲克牌,隨機(jī)抽取4張,進(jìn)行計(jì)算是否能得到24. 如果可以,列出可能的計(jì)算表達(dá)式,可能有多種計(jì)算形式。

主要思想就是先生成除去大小王的52張撲克牌,然后從中隨機(jī)抽取四張。接著用排列組合的方式找到能計(jì)算得到24的表達(dá)式。

package Poker;

import java.util.Random;

import java.util.Stack;

public class Poker {

static int count = 0;

static int count_2 = 0;

public static Stack stack = new Stack();

public static Stack stack_temp = new Stack();

public static Stack stack_collection = new Stack();

public static void main(String[] args) {

System.out.println("Poker World");

// 生成撲克牌

int poker[][] = new int[4][13];

for(int i = 0; i < 4; i++) {

for(int j = 0; j < 13; j++) {

if(j + 1 < 11) {

poker[i][j] = j+1;

}

else {

poker[i][j] = j-9;

}

}

}

Random r = new Random();

int randomPoker[] = new int[4];

for(int i = 0; i < 4; i++) {

randomPoker[i] = poker[r.nextInt(3)][r.nextInt(12)];

stack_temp.add(randomPoker[i]);

}

System.out.print("抽到的撲克牌:");

for(int element: randomPoker) {

System.out.printf("%d ", element);

}

System.out.print("\n");

order(randomPoker, 4, 0);

//System.out.printf("%d\n",count_2);

if(count != 0) {

System.out.printf("共有%d種計(jì)算方法", count);

}

else {

System.out.print("無法計(jì)算得到24");

}

}

private static void order(int[] poker, int targ, int cur) {

// TODO Auto-generated method stub

if(cur == targ) {

String str = stack.toString();

if(!stack_collection.contains(str)) {

stack_collection.add(str);

count_2 += 1;

int new_poker[] = new int[4];

for(int i = 0; i < 4; i++) {

new_poker[i] = stack.pop();

}

for(int i = 3; i >= 0; i--) {

stack.push(new_poker[i]);

}

do24(new_poker);

}

return;

}

for(int i = 0; i < poker.length; i++) {

if(stack_temp.contains(poker[i])) {

stack.add(poker[i]);

for(int j = 0; j < stack_temp.size(); j++) {

if(stack_temp.get(j) == poker[i]) {

stack_temp.remove(j);

break;

}

}

order(poker, targ, cur+1);

stack.pop();

stack_temp.add(poker[i]);

}

}

}

public static void do24(int[] poker){

// 四個(gè)數(shù)字中間有三個(gè)運(yùn)算符,因此用三重循環(huán)遍歷。其中0表示+,1表示-,2表示x,3表示÷

int test[] = {1,2,3,4};

for(int i=0;i<4;i++){

for(int j=0;j<4;j++){

for(int k=0;k<4;k++){

operate(poker,i,j,k);

//operate(test,i,j,k);

}

}

}

}

/*

* 分類討論

*/

public static void operate(int[] poker, int op1, int op2, int op3) {

int num1 = poker[0];

int num2 = poker[1];

int num3 = poker[2];

int num4 = poker[3];

if((cal(cal(cal(num1,num2,op1),num3,op2),num4,op3) == 24)) {

if((((op2 == 0) || (op2 == 1))&&((op3 == 0) || (op3 == 1)))||((op2 != 0) && (op2 != 1))) {

System.out.println("("+num1+symbol(op1)+num2+")"+symbol(op2)+num3+symbol(op3)+num4);

count++;

}

}

else if(cal(cal(num1,cal(num2,num3,op2),op1),num4,op3) == 24) {

if((((op1 == 0) || (op1 == 1))&&((op3 == 0) || (op3 == 1)))||((op1 != 0) && (op1 != 1))) {

System.out.println(num1+symbol(op1)+"("+num2+symbol(op2)+num3+")"+symbol(op3)+num4);

count++;

}

else {

System.out.println("["+num1+symbol(op1)+"("+num2+symbol(op2)+num3+")]"+symbol(op3)+num4);

count++;

}

}

else if(cal(cal(num1,num2,op1),cal(num3,num4,op3),op2) == 24) {

if((((op1 == 0) || (op1 == 1))&&((op2 == 0) || (op2 == 1)))||((op1 != 0) && (op1 != 1))) {

System.out.println(num1+symbol(op1)+num2+symbol(op2)+"("+num3+symbol(op3)+num4+")");

count++;

}

else {

System.out.println("("+num1+symbol(op1)+num2+")"+symbol(op2)+"("+num3+symbol(op3)+num4+")");

count++;

}

}

else if(cal(cal(cal(num1,num2,op1),num3,op2),num4,op3) == 24) {

if((((op1 == 0) || (op1 == 1))&&((op2 == 0) || (op2 == 1)))||((op1 != 0) && (op1 != 1))) {

System.out.println("("+num1+symbol(op1)+num2+symbol(op2)+num3+")"+symbol(op3)+num4);

count++;

}

else {

System.out.println("[("+num1+symbol(op1)+num2+")"+symbol(op2)+num3+"]"+symbol(op3)+num4);

count++;

}

}

else if(cal(num1,cal(cal(num2,num3,op2),num4,op3),op1) == 24) {

if((((op2 == 0) || (op2 == 1))&&((op3 == 0) || (op3 == 1)))||((op2 != 0) && (op2 != 1))) {

System.out.println(num1+symbol(op1)+"("+num2+symbol(op2)+num3+symbol(op3)+num4+")");

count++;

}

else {

System.out.println(num1+symbol(op1)+"[("+num2+symbol(op2)+num3+")"+symbol(op3)+num4+"]");

count++;

}

}

else if(cal(num1,cal(num2,cal(num3,num4,op3),op2),op1) == 24) {

System.out.println(num1+symbol(op1)+"["+num2+symbol(op2)+"("+num3+symbol(op3)+num4+")]");

count++;

}

}

/*

* 按順序計(jì)算

*/

public static double cal(double num1,double num2,int num){

double sum=0.0;

switch(num) {

case 0:

sum = num1 + num2;

break;

case 1:

sum = num1 - num2;

break;

case 2:

sum = num1 * num2;

break;

case 3:

if(num1 % num2 == 0) {

sum = num1 / num2;

}

else {

sum = 999;

}

break;

default:

break;

}

return sum;

}

/*

* 將代表計(jì)算符號(hào)的數(shù)字轉(zhuǎn)換成字符存入String數(shù)組并返回

*/

public static String symbol(int symbolNum){

String symbol = "";

switch (symbolNum) {

case 0:

symbol="+";

break;

case 1:

symbol="-";

break;

case 2:

symbol="x";

break;

case 3:

symbol="÷";

break;

default:

break;

}

return symbol;

}

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持聚米學(xué)院。

總結(jié)

以上是生活随笔為你收集整理的java速算24,Java扑克牌速算24的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 超碰在线视屏 | 黄色av网站网址 | 成人av中文解说水果派 | 国产又爽又黄免费软件 | 欧美色综合网站 | 黄色一级在线视频 | 特级西西444www高清大视频 | 午夜影剧院 | 欧洲美女粗暴牲交免费观看 | 一本一道无码中文字幕精品热 | 国产成人无码网站 | 中文字幕无码日韩专区免费 | 一区二区三区视频网 | 免费三片在线播放 | 日韩一级在线观看视频 | 国产精品永久在线观看 | 爽爽影院在线免费观看 | 九九视频这里只有精品 | 男女扒开双腿猛进入爽爽免费 | av网站网址 | 国产对白刺激视频 | 人妻体体内射精一区二区 | 国产精品久久久久久久无码 | 亚洲乱熟女一区二区 | 欧美三级一区 | 强制憋尿play黄文尿奴 | 亚洲一区二区不卡在线观看 | 成人午夜视频一区二区播放 | 中文字幕第十一页 | www.av.cn| 久草影视在线 | 麻豆传媒网页 | 亚洲自拍偷拍综合 | 日韩电影一区二区三区 | 国产精品xxx在线 | 无码一区二区三区免费 | 91在线视频精品 | 欧美性生活精品 | 欧洲成人在线观看 | 国产精品久久久久久久久久久免费看 | 日韩成人在线看 | 五月天丁香网 | 香蕉视频成人在线观看 | 91香蕉国产在线观看软件 | 欧美综合亚洲图片综合区 | 无码人妻久久一区二区三区蜜桃 | 日韩在线一二 | 美丽的姑娘在线观看免费 | 国产春色 | 欧美亚洲图片小说 | 日韩精品视频三区 | av永久免费网站 | 国产精品一区二区三区久久 | 国产20页 | 久久免费看少妇 | 中文人妻一区二区三区 | 亚洲视频一区二区在线观看 | 啦啦啦免费高清视频在线观看 | 亚洲国产专区 | 在线xxxx| 四虎国产在线 | 青青草娱乐视频 | 最近国语视频在线观看免费播放 | 日韩国产一级 | 日韩精品字幕 | 手机看片1024在线 | 亚洲成人网在线播放 | 久色视频| 极品美女高潮出白浆 | 日韩精品视频久久 | 无码视频在线观看 | 新婚之夜玷污岳丰满少妇在线观看 | 日韩成人在线看 | 国产成人精品一区 | 亚洲国产日韩欧美在线观看 | 激烈娇喘叫1v1高h糙汉 | 好屌妞视频这里有精品 | 亚洲国产影视 | 免费观看理伦片在线播放视频软件 | 刘亦菲一区二区三区免费看 | 色香蕉影院 | 午夜欧美福利 | 琪琪久久 | 亚洲午夜网站 | www.爱色av.com | 亚洲精品国产精品国自产在线 | 亚洲自拍偷拍视频 | 白嫩白嫩国产精品 | 男女黄床上色视频免费的软件 | 欧美一级欧美三级 | 天天操夜夜夜 | 性视频在线| 国产精品黄色在线观看 | 波多野结衣视频在线观看 | 精彩毛片 | 射在线| 麻豆国产精品视频 | 日本美女一级片 | 午夜不卡av |