weixin_51768502 2021-11-06 16:59 采纳率: 20%
浏览 701

6-4 计算扑克牌24点的组合数 (10 分)JAVA怎么做?

6-4 计算扑克牌24点的组合数 (10 分)
一副牌中抽去大小王剩下52张,任意抽取4张牌(称牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。

请编程计算出一副牌,任意抽取4张可有多少张不同有效组合数。(注:由于计算的时候只需要点数,不要花色,所以黑桃2等同于红桃2)

函数接口定义:
请仔细阅读测试主类的调用。

裁判测试程序样例:

在这里给出测试类:
import java.util.*;

public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

    int x = input.nextInt();
    System.out.print(Card24.count(x));

}

}

/* 请在这里填写答案 */
输入样例:
从键盘输入同一花色的牌数(不限于13张):

13
结尾无空行
输出样例:
输出有效组合的数量:

1820

  • 写回答

1条回答 默认 最新

  • skuuklzc 2021-11-09 19:33
    关注

    class Card24{

    public static int count(int x) {
        List<String> list = new ArrayList<String>();
        int i,j,k,l,count=0;
        int a[]=new int[4];
        for(i=1;i<=x;i++)
        {
            for(j=1;j<=x;j++)
            {
                for(k=1;k<=x;k++)
                {
                    for(l=1;l<=x;l++)
                    {
                        a[0]=i;
                        a[1]=j;
                        a[2]=k;
                        a[3]=l;
                        Arrays.sort(a);
                        String str;
                        str=Arrays.toString(a);
                        list.add(str);
                    }
                }
            }
        }
        Set<String> set=new HashSet<String>();
        for(i=0;i<list.size();i++)
        {
            set.add(list.get(i));
        }
        return set.size();
    }
    

    }
    不知道有没有更简单的做法,这算一种

    评论

报告相同问题?

问题事件

  • 创建了问题 11月6日