全排列
谦谦学者
努力学习,如何发亮
展开
-
蓝桥杯:算法基础-马虎的算式
马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢原创 2020-07-28 20:10:06 · 386 阅读 · 0 评论 -
蓝桥杯:算法基础-组素数
组素数 素数就是不能再进行等分的数。比如:2 3 5 7 11 等。 9 = 3 * 3 说明它可以3等分,因而不是素数。 我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢? 比如:1949,4919 都符合要求。 分析:通过全排列的方式筛选素数-考虑重复数据的出现这里用set集合存储 import java.util.HashSet; import java.util.Se原创 2020-07-28 20:04:18 · 300 阅读 · 0 评论 -
蓝桥杯:算法提升-纸牌三角形
纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。 下图就是一种排法(如有对齐问题,参看p1.png)。 A 9 6 4 8 3 7 5 2 这样的排法可能会有很多。 如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢? 分析:此类题我首先想到使用暴力破解(也就是每个数字都写一个循环嵌套在一起)和递归(递归逻辑复杂不易理解)下面我把暴力破解的代码发在了下面。 public c原创 2020-06-14 15:45:07 · 151 阅读 · 0 评论