全排列实现猜算式问题
来源:互联网 发布:美发软件哪个好 编辑:程序博客网 时间:2024/05/17 09:20
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/*
* 利用全排列解决猜算式问题
* 全排列:利用递归实现全排列,每次用当前交脚标值进行和其他值的交换
*/
public class quanpailie {
private static Set<String> ss=new HashSet<String>();
public static void main(String[] args) {
char[] num={'1','2','3','4','5','6','7','8','9'};
quanpai(num,0,num.length);
}
public static void quanpai(char [] carr,int at,int len){
if(at==len-1){
String str=new String(carr);
char []aa=str.toCharArray();
Arrays.sort(aa);
String str1=new String(aa);
int a=Integer.parseInt(str.substring(0, 2))*Integer.parseInt(str.substring(2, 4));
int b=Integer.parseInt(str.substring(4, 6))*Integer.parseInt(str.substring(6,9));
if("123456789".equals(str1) && a==b && ss.add(str.substring(2, 4)+str.substring(0, 2)) && ss.add(str.substring(0, 2)+str.substring(2, 4))){
System.out.println(str.substring(0, 2)+"*"+str.substring(2, 4)+"="+str.substring(4, 6)+"*"+str.substring(6,9));
}
}else{
for(int j=at;j<len;j++){
swap(carr,at,j);
quanpai(carr,at+1,len);
swap(carr,at,j);
}
}
}
public static void swap(char[]cc,int i,int j){
char c=cc[j];
cc[j]=cc[i];
cc[i]=c;
}
}
0 0
- 全排列实现猜算式问题
- 全国软件大赛(猜算式)全排列实现
- 递归实现全排列,关于凑算式实例
- 全排列问题实现
- 凑算式(全排列)
- java实现全排列问题
- 全排列问题 递归实现
- 算法实现-->全排列问题
- 全排列问题递归实现
- 递归实现全排列问题
- 递归实现全排列问题
- 填算式(使用全排列处理)
- 历届试题 神奇算式 (全排列)
- 凑算式-蓝桥-全排列
- 蓝桥杯_凑算式_全排列
- 蓝桥杯题解-凑算式(全排列变体)
- 字符串全排列问题 java语言实现
- 全排列问题的递归、STL实现
- 栈的基本操作及如何判断一个表达式中的左右括号是否匹配
- Windows环境下redis 配置文件中设置的密码为什么无效
- [Qt和GLSL的笔记2] QGLShaderProgram类
- Trie树详解及其应用
- PL/SQL Developer 访问远程数据库(本机不包含oracle客户端)
- 全排列实现猜算式问题
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- 网站建设如何突破同质化竞争的桎梏?
- Div与table的区别
- studio错误积累
- 算法第十四周作业01
- Spring Boot的初始化过程
- 编译通不过#564
- 组合数问题