第七届蓝桥杯javaB组真题解析-凑算式(第三题)
题目
/*
凑算式 B DEF
A + --- + ------- = 10
C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。 比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
*/
图1

答案
29
代码
public class Main {
public static void main(String[] args) {
//实现 元素都不相同的全排列 简单的方法可以用暴力破解的方法 只要把循环中有重复数字的结果剔除就可以
int a, b, c, d, e, f, g, h, i, s=0;
for(a=1;a<10;a++){
for(b=1;b<10;b++){
if(b==a) continue;
for(c=1;c<10;c++){
if(c==a||c==b) continue;
for(d=1;d<10;d++){
if(d==a||d==b||d==c) continue;
for(e=1;e<10;e++) {
if(e==a||e==b||e==c||e==d) continue;
for(f=1;f<10;f++){
if(f==a||f==b||f==c||f==d||f==e) continue;
for(g=1;g<10;g++){
if(g==a||g==b||g==c||g==d||g==e||g==f) continue;
for(h=1;h<10;h++){
if(h==a||h==b||h==c||h==d||h==e||h==f||h==g) continue;
for(i=1;i<10;i++){
if(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h) continue;
//其中要注意的是,两个整数相除得到的还是整数,所以要把其中一个整数先乘以 1.0 转化成浮点数 (建议乘在分子上,因为计算顺序不容易出错)
double num = a + b*1.0/c + (100*d+10*e+f)*1.0/(100*g+10*h+i)-10;
if(num==0) {
s++;
//下面会显示结果项
/*System.out.println(" "+b+" "+d+""+e+""+f+"");
System.out.println(""+a+" + --- + ------- = 10");
System.out.println(" "+c+" "+g+""+h+""+i+"");
System.out.println(a+" "+b*1.0/c+" "+(100*d+10*e+f)*1.0/(100*g+10*h+i));
System.out.println();
System.out.println();*/
}
}
}
}
}
}
}
}
}
}
System.out.println(s);
}
}
注释
就本题目而言用暴力破解会更省事一点,其中要注意的一个小问题就是,整数相除得整数,要细心一点。由本题目牵扯到的全排列方面的算法我会再写一篇博客
第七届蓝桥杯javaB组真题解析-凑算式(第三题)的更多相关文章
- 2016年第七届蓝桥杯javaB组 试题 答案 解析
1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...
- 第七届蓝桥杯javaB组真题解析-分小组(第四题)
题目 /* 分小组 9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 我们标记运动员为 A,B,C,... I 下面的程序列出了所有的分组方法. 该程序的正常输出为: ABC DEF G ...
- 第七届蓝桥杯javaB组真题解析-生日蜡烛(第二题)
题目 /* 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...
- 第七届蓝桥杯javaB组真题解析-煤球数目(第一题)
题目 /* 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有 ...
- 第七届蓝桥杯javaB组真题解析-四平方和(第八题)
题目 /* 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1 ...
- 第七届蓝桥杯javaB组真题解析-剪邮票(第七题)
题目 /* 剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色 ...
- 第七届蓝桥杯javaB组真题解析-方格填数(第六题)
题目 /* 方格填数 如下的10个格子 +--+--+--+ | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | +--+--+--+ (如果显 ...
- 第七届蓝桥杯javaB组真题解析-抽签(第五题)
题目 /* 抽签 X星球要派出一个5人组成的观察团前往W星. 其中: A国最多可以派出4人. B国最多可以派出2人. C国最多可以派出2人. .... 那么最终派往W星的观察团会有多少种国别的不同组合 ...
- 第七届蓝桥杯JavaB组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.煤球数量 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第 ...
随机推荐
- HTML学习一(入门了解)
基础部分---------------------------------一:简介HTML 是用来描述网页的一种语言.HTML 指的是超文本标记语言 (Hyper Text Markup Langua ...
- laravel安装excel功能
原文安装链接:https://github.com/Maatwebsite/Laravel-Excel 代码如下: if ($rows = DB::connection('glist')->ta ...
- Android线程之异步消息处理机制(一)
Android不允许在子线程中进行UI操作,但是有些时候,我们必须在子线程里去执行一些耗时任务,然后根据任务的执行结果来更新相应的UI控件.对于这种情况,Android提供了一套异步消息处理机制,完美 ...
- SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解
SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解 博客分类: 跟开涛学SpringMVC 6.6.2.@RequestParam绑定单个请求参数值 @RequestParam用于 ...
- log4j的用法
1.导入 2.在src下新建log4j.properties,内容如下 log4j.rootLogger=DEBUG, A1 ,R log4j.appender.A1=org.apache.log4j ...
- 外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样(转)
源:外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样 前几天看到开源电子论坛(openedv.com)有人在问这个问题,我特意去做了这个实验,这样用外部SRAM就跟用内部SRAM一样 ...
- ECSHOP中ajax的调用原理
ECSHOP中ajax的调用原理 ecshop中ajax的调用原理. 1.首先ecshop是如何定义ajax对象的. ecshop中的ajax对象是在js/transport.js文件中定义的.里面是 ...
- MVC笔记2:mvc+jquery.validate.js 进行前端验证
1.引用如下js和css 代码 <link href="@Url.Content("~/Content/Site.css")" rel="sty ...
- c++初学(电梯实验加强版)
Elevator.h class Elevator{public: Elevator(); ~Elevator(); void getNowNum(); void Se ...
- cpu95%,查找问题sql
收到一封告警邮件: Load average on xxx_server reached critical threshold values - 169.5 Current Load Avg = 16 ...