第三届蓝桥杯Java高职组决赛第一题
来源:互联网 发布:mac yosemite dmg下载 编辑:程序博客网 时间:2024/04/28 10:21
题目描述:
看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字。 这个算式有多少种可能的正确填写方法? 173 + 286 = 459 295 + 173 = 468 173 + 295 = 468 183 + 492 = 675 以上都是正确的填写法! 注意: 111 + 222 = 333 是错误的填写法! 因为每个数字必须是不同的! 也就是说:1~9中的所有数字,每个必须出现且仅出现一次! 注意: 不包括数字“0”! 注意: 满足加法交换率的式子算两种不同的答案。 所以答案肯定是个偶数!
分析:先生成1-9组成的不同的9位数,然后三个三个的相加,如果a+b=c就输出结果。
主要用递归,出口是1-9个不同的数生成完毕。
import java.util.ArrayList;import java.util.List;public class test_1 {public static List<String> num = new ArrayList<String>();public static int count =0;public void randomNum(int mark){if(mark == 9){String[] result = (String[])num.toArray(new String[10]);String a = "";String b = "";String c = "";for(int i=0;i<3;i++)a+=result[i];for(int i=3;i<6;i++)b+=result[i];for(int i=6;i<9;i++)c+=result[i];if(Integer.parseInt(a)+Integer.parseInt(b)==Integer.parseInt(c))//System.out.println(a+" + "+b+" = "+c);count++;return ;}else{for(int i=1;i<=9;i++){if(!num.contains(""+i)){num.add(""+i);randomNum(++mark);}else{continue;}mark--;num.remove(mark);}}}public static void main(String args[]){new test_1().randomNum(0);System.out.println(count);}}
- 第三届蓝桥杯Java高职组决赛第一题
- 第三届蓝桥杯Java高职组决赛第三题
- 第三届蓝桥杯Java高职组决赛第四题
- [蓝桥杯]第三届Java高职组决赛第四题
- 蓝桥杯java第三届决赛第一题--星期日
- 蓝桥杯2011c/c++组高职决赛题分析
- 蓝桥杯_第三届_决赛_C语言高职组_1
- 蓝桥杯_第三届_决赛_C语言高职组_2
- 蓝桥杯_第三届_决赛_C语言高职组_3
- 蓝桥杯_第三届_决赛_C语言高职组_4
- 第三届蓝桥杯java决赛试题答案
- 蓝桥杯2012决赛JAVA本科组决赛第一题个人理解
- 第三届蓝桥杯预赛真题 Java高职第九题-- 密码发生器
- 蓝桥杯java高职组
- 第七届蓝桥杯决赛JavaA组第一题_阶乘位数
- 第七届蓝桥杯决赛JavaB组第一题_愤怒小鸟
- 第七届蓝桥杯决赛JavaA组第三题_棋子换位
- 第七届蓝桥杯决赛JavaB组第三题_打靶
- 在ubuntu下轻松安装QQ2012教程
- 全国口译笔译考试CATTI-笔译三级考试大纲
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
- 用匈牙利算法求二分图的最大匹配
- 一张图片实现滚动
- 第三届蓝桥杯Java高职组决赛第一题
- Qt里对QLineEdit输入框进行判断
- 使用C++处理JSON数据交换格式
- SQL2012的一些新函数
- PKU-1051 P,MTHBGWB (map的使用)
- KMP算法详解——适合初学KMP算法的朋友
- 揭秘中国16大暴利行业
- could not fetch initial value for increment gener
- Android---简单的摄像程序