weixin_51768502 2021-11-06 16:59 采纳率: 25%
浏览 495

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日

悬赏问题

  • ¥15 keil+mspm0g3507+二维总线舵机
  • ¥15 如何用wireshark分析找出url接口和param参数
  • ¥15 有谁知道这是阿里云那个应用的域名吗,怎么调用?
  • ¥30 正则表达式的一些问题
  • ¥15 C#如何使用ClosedXML库搭配别的库实现:将指定Excel区域导出为图片(例如A1:AO50)
  • ¥15 虚拟机只能接收不能发送
  • ¥15 为什么echarts极坐标柱形图的图形显示的特别小呢
  • ¥20 网络科学导论,网络同步与控制
  • ¥50 arcpy将数据库要素类添加到图层组以及创建要素收藏夹如何创建文件夹并将模板中的符号添加到文件夹中
  • ¥15 我的住宅ip和vps的地址都是法国 可是在whoer里面一直查询我的位置是美国 这种ip不符合是什么问题导致的 怎么解决 手机电脑换电脑用whoer查询都是美国 用别的查询都是在法国