牌型种数 JAVA暴解

小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
请填写该整数,不要填写任何多余的内容或说明文字。

思路:刚看这个题我以为是用大数全排列,结果发现要是这么写的话肯定会炸,结果后来就暴力了,十三层循环 枚举点数 满足13的 ++一次 输出就可! 由于水平有限dfs的做法没写出来。

public class Main {
	public static void main(String[] args) {
		int ans = 0;
		for (int n1 = 0; n1 <= 4; n1++) {
			for (int n2 = 0; n2 <= 4; n2++) {
				for (int n3 = 0; n3 <= 4; n3++) {
					for (int n4 = 0; n4 <= 4; n4++) {
						for (int n5 = 0; n5 <= 4; n5++) {
							for (int n6 = 0; n6 <= 4; n6++) {
								for (int n7 = 0; n7 <= 4; n7++) {
									for (int n8 = 0; n8 <= 4; n8++) {
										for (int n9 = 0; n9 <= 4; n9++) {
											for (int n10 = 0; n10 <= 4; n10++) {
												for (int n11 = 0; n11 <= 4; n11++) {
													for (int n12 = 0; n12 <= 4; n12++) {
														for (int n13 = 0; n13 <= 4; n13++) {
															int pai = n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8 + n9 + n10 + n11 + n12 + n13;
															if (pai == 13) {
																ans++;
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		System.out.println(ans);
	}
}

小剧场:时光扭曲引力,也许能倒退…

发布了202 篇原创文章 · 获赞 149 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43771695/article/details/105185858