** 填写算式**

看这个算式:

☆☆☆ + ☆☆☆ = ☆☆☆

如果每个五角星代表 1 ~ 9 的不同的数字。

这个算式有多少种可能的正确填写方法?

173 + 286 = 459

295 + 173 = 468

173 + 295 = 468

183 + 492 = 675

以上都是正确的填写法!

注意:

111 + 222 = 333 是错误的填写法!

因为每个数字必须是不同的!

也就是说:1~9中的所有数字,每个必须出现且仅出现一次!

注意:

不包括数字“0”!

注意:

满足加法交换率的式子算两种不同的答案。

所以答案肯定是个偶数!

注意:

只要求计算不同的填法的数目

不要求列出所有填写法

更不要求填写源代码!

答案不要写在这里,请写在“解答.txt”中!

参考答案:

336

public class Main1 {

    public static int count = 0;

    public void swap(int[] A, int a, int b) {
int temp = A[a];
A[a] = A[b];
A[b] = temp;
} public 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);
}
}
return;
} public void check(int[] A) {
String tempA = "";
for(int i = 0;i < A.length;i++)
tempA += A[i];
int a = Integer.valueOf(tempA.substring(0, 3));
int b = Integer.valueOf(tempA.substring(3, 6));
int c = Integer.valueOf(tempA.substring(6, 9));
if(a + b == c)
count++;
return;
} public static void main(String[] args) {
Main1 test = new Main1();
int[] A = {1,2,3,4,5,6,7,8,9};
test.dfs(A, 0);
System.out.println(count);
}
}

java实现填写算式的更多相关文章

  1. Java实现填写乘法算式

    观察下面的算式: * * × * * = * * * 它表示:两个两位数字相乘,结果是3位数.其中的星号(*)代表任意的数字,可以相同,也可以不同,只要不是在首位的就可以是0.当然,满足这个要求的算式 ...

  2. java实现猜算式

    题目:猜算式 你一定还记得小学学习过的乘法计算过程,比如: x 15 ------ 273 ------ 请你观察如下的乘法算式 *** x *** -------- *** *** *** ---- ...

  3. 【自动化测试】使用Java+selenium填写验证码成功登录

    这是我第一次发博客,若有问题,请多多指教! 本次是为了帮忙解决,如果在平时自动化遇到有验证码填写的情况,我们如何成功登录情况. 思路: 首先我们先将验证码复制并保存成一个图片,然后使用tesserac ...

  4. java如何填写简历?(干货篇)

        化身孤岛的鲸不才 - 十三夜之月 一份优秀的简历不一定能帮你找到一份满意的工作,但能大大提升你的面试机会. 不容否认,简历是对你的能力.教育和经历的一份简要信息概述. 简历中应该突出你最核心的 ...

  5. java实现古堡算式

    ** 古堡算式** 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:"ABCDE应该代表不同的数字,问号也代表某个数字!" 华生 ...

  6. 算法笔记_118:算法集训之结果填空题集二(Java)

     目录 1 欧拉与鸡蛋 2 巧排扑克牌 3 排座位 4 黄金队列 5 汉诺塔计数 6 猜生日 7 棋盘上的麦子 8 国庆星期日 9 找素数 10 填写算式 11 取字母组成串   1 欧拉与鸡蛋 大数 ...

  7. java算法集训结果填空题练习2

    1 欧拉与鸡蛋 大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子.她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋. 欧拉随便问:"卖了多少鸡蛋呢?" 不料一个说:" ...

  8. Java实现带括号优先级的计算器

    这个计算器不仅能够进行四则运算,还支持添加括号进行优先级计算,例如下面算式: 10+(2*16-20/5)+7*2=52 Java源代码: import java.awt.BorderLayout; ...

  9. Mac 安装Java JDK

    (一)Java JDK 首先到该网址,下载JavaSE  http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads- ...

随机推荐

  1. java基础知识积累总结

    参考:http://www.importnew.com/22083.html 参考:http://www.importnew.com/22087.html 十分感谢原作者的汇总,我在这个基础上,有所改 ...

  2. 最短路径——dijkstra算法代码(c语言)

    最短路径问题 看了王道的视频,感觉云里雾里的,所以写这个博客来加深理解.(希望能在12点以前写完) 一.总体思想 dijkstra算法的主要思想就是基于贪心,找出从v开始的顶点到各个点的最短路径,做法 ...

  3. git命令之切换分支

    Git一般有很多分支,我们clone到本地的一般都是master分支,如何进行分支的切换呢?那么下面带大家简单的看看如何通过命令来切换: 1.查看远程仓库及本地的所有分支 命令:git branch ...

  4. react 学习前期用到的插件

    prop-types------展示组件的props类型检测: import PropTypes from 'prop-types' ... Link.propTypes = { active: Pr ...

  5. 5.8 Go 单元测试

    5.8 Go 单元测试 如果你不想后半生的美好时光都在寻找BUG中度过,那么必须写些程序用来检测产品代码的结果和预期的一样. Go语言的测试依赖于go test测试命令和一组按约定方式编写的测试函数, ...

  6. 08 返回动态页面web框架

    08 返回动态页面web框架 动态页面: 网页的内容是动态变化的,不是一直不变的(静态页面:每次显示的内容都是一样) 服务器server端python程序(动态页面版本): import socket ...

  7. 基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型

    上一篇文章(https://www.cnblogs.com/meowv/p/12916613.html)使用自定义仓储完成了简单的增删改查案例,有心的同学可以看出,我们的返回参数一塌糊涂,显得很不友好 ...

  8. MYSQL mysql.user表中权限对应的解释

    命令标识 授权表中对应的列 说明 CREATE Create_priv 创建数据库.表或索引 CREATE TEMPORARY TABLES Create_tmp_table_priv 创建临时数据表 ...

  9. oracle start with

    select * from t where 1=1 START WITH key_id=600 CONNECT BY PRIOR key_id = pid order by key_id desc

  10. chosen.jquery.min.js select2.js 弊端

    chosen.jquery.min.js --将select放在页面最下方,会导致页面高度增加,最下方空白多出来 select2.js --点击select 但未选择,然后移出鼠标,发现其他文本框.关 ...