猜算式
来源:互联网 发布:云计算怎么赚钱 编辑:程序博客网 时间:2024/06/01 09:43
/*看下面的算式:
□□ x □□ = □□ x □□□
它表示:两个两位数相乘等于一个两位数乘以一个三位数。
如果没有限定条件,这样的例子很多。
但目前的限定是:这9个方块,表示1~9的9个数字,不包含0。
该算式中1至9的每个数字出现且只出现一次!
比如:
46 x 79 = 23 x 158
54 x 69 = 27 x 138
54 x 93 = 27 x 186
.....
请编程,输出所有可能的情况!
注意:
左边的两个乘数交换算同一方案,不要重复输出!
不同方案的输出顺序不重要
□□ x □□ = □□ x □□□
它表示:两个两位数相乘等于一个两位数乘以一个三位数。
如果没有限定条件,这样的例子很多。
但目前的限定是:这9个方块,表示1~9的9个数字,不包含0。
该算式中1至9的每个数字出现且只出现一次!
比如:
46 x 79 = 23 x 158
54 x 69 = 27 x 138
54 x 93 = 27 x 186
.....
请编程,输出所有可能的情况!
注意:
左边的两个乘数交换算同一方案,不要重复输出!
不同方案的输出顺序不重要
*/
1. 数的全排列的用法
2.递归、回溯知识
---------------------------------------------------code1----------------------------------------------------------------------------------------
import java.util.*;import java.util.ArrayList;public class demo1 { public static ArrayList<String> list = new ArrayList<String>(); public static void swap(int[] A, int i, int j) { int temp = A[i]; A[i] = A[j]; A[j] = temp; } public static void check(int[] A) { int a = A[0] * 10 + A[1]; int b = A[2] * 10 + A[3]; int c = A[4] * 10 + A[5]; int d = A[6] * 100 + A[7] * 10 + A[8]; if(a > b) {//小数在前,大数在后 int temp = a; a = b; b = temp; } if(a * b == c * d) { StringBuffer s = new StringBuffer(""); s.append(a); s.append(" x "); s.append(b); s.append(" = "); s.append(c); s.append(" x "); s.append(d); if(!list.contains(s.toString())) list.add(s.toString()); } } public static void dfs(int[] A, int step) {//使用递归 if(step == A.length) { check(A); return; } else { for(int i = step;i < A.length;i++) { swap(A, i, step);//交换元素 dfs(A, step + 1); swap(A, i, step);//还原元素 } } } public static void main(String[] args) { int[] A = {1,2,3,4,5,6,7,8,9}; dfs(A, 0); for(int i = 0;i < list.size();i++) System.out.println(list.get(i)); }}
阅读全文
1 0
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 猜算式
- 算式猜数字
- 蓝桥杯--猜算式
- Linux 遇到apt update中遇到更新失败的问题尝试方法
- bzoj2330糖果(差分约束)
- HTTP缓存
- ViewPager 详解(五)-----使用Fragment实现ViewPager滑动
- 自动换行的LineLayout
- 猜算式
- 关于JSP中的一些常用语句
- 二级java程序设计--Java SDK6.0的下载和操作
- python3模拟登录我们学校的官网爬去本学期的成绩
- Python实现车辆管理(GUI)
- Java基础题(100道)(已整理(1)道)
- 大数据及人工智能基础复习5 Word2Vec
- oracle 9i/10g/11g(11.2.0.3)安装包和PATCH下载地址汇总
- 511遇见易语言大漠多线程模块教程(1-12课)