2015年第六届蓝桥杯JavaB组省赛试题解析
题目及解析如下:
题目大致介绍:
第一题到第三题以及第六题、第七题是结果填空,方法不限只要得到最后结果就行
第四题和第五题是代码填空题,主要考察算法基本功和编程基本功
第八题到第十题是编程题,要求编程解决问题
第一题 三角形面积
送分题,每个人都应该会的
// 三角形面积
// answer: 28 public class t1 { public static void main(String[] args) {
System.out.println(64 - 8 - 3 * 4 - 4 * 4);
} }
第二题 立方变自身
// 立方变自身
// 观察下面的现象,某个数字的立方,按位累加仍然等于自身。
// 1^3 = 1
// 8^3 = 512 5+1+2=8
// 17^3 = 4913 4+9+1+3=17
// ...
// 请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个? // answer: 6 public class t2 { public static void main(String[] args) {
int res = 0;
for(int i = 1; i<99; i++) {
int s = i * i * i;
int sum = calSum(s);
if(sum == i) {
res++;
System.out.println(res + " " + i);
}
} System.out.println(res);
} private static int calSum(int s) {
String str = String.valueOf(s);
int sum = 0;
for(int i = 0; i<str.length(); i++) {
sum += str.charAt(i) - '0';
} return sum;
} }
这个题也算是送分题
第三题 三羊献瑞
暴力求解,注意看清楚,别看错了!然后可以推导出某些位置的数,比如下面的三就是1,祥就是9,羊就是0
// 三羊献瑞 // 观察下面的加法算式:
//
//
// 祥 瑞 生 辉
// + 三 羊 献 瑞
//-------------------
// 三 羊 生 瑞 气
//
//
// 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
//
// 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容 // answer: 1085 public class t3 { public static void main(String[] args) { for (int a = 1; a <= 9; a++) {
for (int b = 0; b <= 9; b++) {
if(b!=a)
for (int c = 0; c <= 9; c++) {
if(c!=a&&c!=b)
for (int d = 0; d <= 9; d++) {
if(d!=c&&d!=b&&d!=a)
for (int i = 1; i <= 9; i++) {
if(i!=d&&i!=c&&i!=b&&i!=a)
for (int j = 0; j <= 9; j++) {
if(j!=i&&j!=d&&j!=c&&j!=b&&j!=a)
for (int k = 0; k <= 9; k++) {
int num1 = a * 1000 + b * 100 + c * 10 + d;
int num2 = i * 1000 + j * 100 + k * 10 + b;
int res = num1 + num2;
if(k!=j&&k!=i&&k!=d&&k!=c&&k!=b&&k!=a)
for(int q=0; q<=9; q++) {
int aim = i * 10000 + j * 1000 + c * 100 + b * 10 + q;
if(q!=k&&q!=j&&q!=i&&q!=d&&q!=c&&q!=b&&q!=a)
if(res == aim) {
System.out.println(num1 + " + " + num2 + " = " + res + " aim: " + aim);
}
}
}
}
}
}
}
}
} } }
第四题 循环节长度
// 循环节长度 // 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。
// 比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。
// 下面的方法,可以求出循环节的长度。
//
//
// 请仔细阅读代码,并填写划线部分缺少的代码。 public class t4 { public static int f(int n, int m) {
n = n % m;
Vector v = new Vector(); for (;;) {
v.add(n);
n *= 10;
n = n % m;
if (n == 0)
return 0;
if (v.indexOf(n) >= 0) {
return v.size() - v.indexOf(n); // 填空
}
}
} public static void main(String[] args) { for (int i = 1; i <= 17; i++) {
for (int j = 1; j <= 17; j++) {
if (i % j != 0) {
System.out.println(i + " " + j + " " + (double)i/j + " " + f(i, j));
}
}
} } }
第五题 九数组分数
很简单的暴力法,注意使用全排列套路:
// 九数组分数 // 1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?
// 下面的程序实现了该功能,请填写划线部分缺失的代码。 // 答案如下:
// 5832 17496
// 5823 17469 public class t5 {
public static void test(int[] x) {
// 测试函数 检测是否符合条件
int a = x[0] * 1000 + x[1] * 100 + x[2] * 10 + x[3];
int b = x[4] * 10000 + x[5] * 1000 + x[6] * 100 + x[7] * 10 + x[8];
if (a * 3 == b)
System.out.println(a + " " + b);
} public static void f(int[] x, int k) {
if (k >= x.length) {
test(x);
return;
} // 1, 2, 3, 4, 5, 6, 7, 8, 9 for (int i = k; i < x.length; i++) {
// 下面是全排列的套路代码 你应该背下来
{
int t = x[k];
x[k] = x[i];
x[i] = t;
}
f(x, k + 1);
{
int t = x[k];
x[k] = x[i];
x[i] = t;
}
}
} public static void main(String[] args) {
int[] x = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 用数组x来保存这个分数
// 前四个是分子 后六个是分母
f(x, 0);
}
}
第六题 加法变乘法
// 我们都知道:1+2+3+ ... + 49 = 1225
//
// 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
//
// 比如:
// 1+2+3+...+10*11+12+...+27*28+29+...+49= 2015
// 就是符合要求的答案。
//
//
// 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
//
// 注意:需要你提交的是一个整数,不要填写任何多余的内容 // answer:
// 16 // i j m n
// i*j + m*n - (i + j + m + n) == 2015 - 1225 public class t6 {
public static void main(String[] args) { for(int i=10; i<=50; i++) {
int j = i+1;
for(int m=j+2; m<=50; m++) {
int n = m + 1;
if(i*j + m*n - (i + j + m + n) == 2015 - 1225) {
System.out.println(i + " " + j);
}
} } }
}
第七题 牌型种数
// 牌型种数
// 小明被劫持到X赌城,被迫与其他3人玩牌。
//
// 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
//
// 这时,小明脑子里突然冒出一个问题:
//
// 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢? // 思路: 13 堆牌,每堆 4 个,每堆可选 0 到 4 个,只要总数为 13 即可
// 答案: 3598180 public class t7 { public static int res;
public static void dfs(int type, int sum) {
if(sum > 13 || type > 13) {
res += 0;
return;
}
if(type == 13 && sum==13) {
res += 1;
return;
}
for(int i=0; i<=4; i++){
dfs(type+1, sum+i);
}
} public static void main(String[] args) {
dfs(0, 0);
System.out.println(res);
} }
第八题 饮料换购
第一道编程题,很简单:
import java.util.Scanner; // 饮料换购
// 乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。
//
// 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。
//
// 输入:一个整数n,表示开始购买的饮料数量(0<n<10000)
// 输出:一个整数,表示实际喝完的饮料数
//
// 例如:
// 用户输入:
// 100
// 程序应该输出:
// 149
//
// 用户输入:
// 101
// 程序应该输出:
// public class t8 { private static Scanner input; public static int f(int n) {
int res = n;
while (n >= 3) {
n -= 2;
res += 1;
} return res;
} public static void main(String[] args) {
input = new Scanner(System.in);
System.out.println(": ");
int n = input.nextInt();
System.out.println(f(n)); } }
第九题 垒骰子
第十题 生命之树
第九题和第十题有一定难度,不做研究了,时间没有那么多。。。。
2015年第六届蓝桥杯JavaB组省赛试题解析的更多相关文章
- 2015年第六届蓝桥杯javaB组 试题 答案 解析
1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. ##### 答案 : 28 ### 2.立方 ...
- 第六届蓝桥杯JavaB组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.三角形面积 题目描述 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何 ...
- 2014年第五届蓝桥杯JavaB组省赛试题解析
题目及解析如下: 题目大致介绍: 第一题到第三题以及第六题是结果填空,方法不限只要得到最后结果就行 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功 第七题到第十题是编程题,要求编程解决问题 ...
- 2013年第四届蓝桥杯JavaB组省赛试题解析
题目及解析如下: 题目大致介绍: 第一题到第四题是结果填空,方法不限只要得到最后结果就行 第五题和第六题是代码填空题,主要考察算法基本功和编程基本功 第七题到第十题是编程题,要求编程解决问题 第一题 ...
- 第十届蓝桥杯JavaB组省赛真题
试题 A: 组队 本题总分:5 分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示. ...
- 第六届蓝桥杯JavaB组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分机号 X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如: 751,520, ...
- 第九届蓝桥杯JavaB组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.第几天 题目描述 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数 ...
- 第六届蓝桥杯JavaC组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.隔行变色 隔行变色 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式. 小明设计的样式为:第1行蓝色, ...
- 第六届蓝桥杯JavaA组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.熊怪吃核桃 题目描述 森林里有一只熊怪,很爱吃核桃.不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份.如果不能等分, ...
随机推荐
- Zuul 限流
/** * 限流 */ @Component public class RateLimiterFilter extends ZuulFilter { //1秒钟100个令牌 private stati ...
- Pyhanlp自然语言处理中的新词识别
新词发现 本“新词发现”模块基于信息熵和互信息两种算法,可以在无语料的情况下提取一段长文本中的词语,并支持过滤掉系统中已存在的“旧词”,得到新词列表. 调用方法 静态方法 一句话静态调用接口已经封装到 ...
- windows 日志,IIS应用程序池回收日志
应用程序池回收日志筛选事件ID:5074 进程被关闭:5186
- 瑞萨S5D9实现UART环形缓冲
队列的常见两种形式,普通队列和环形队列: 普通队列: 环形队列: 当有大量数据的时候,我们不能存储所有的数据,那么计算机处理数据的时候,只能先处理先来的,那么处理完后呢,就会把数据释放掉,再处理下一个 ...
- oracle常用小知识点
alter table us_studies modify enroldate default to_char(sysdate,'yyyy-mm-dd'); ALTER TABLE QS_QUEUE ...
- sql 语句收集
SELECT type as 'plan cache store', buckets_count FROM sys.dm_os_memory_cache_hash_tables WHERE type ...
- 删除右键菜单中的Git
在打开的注册表中找到:HKEY_CLASSES_ROOT,并点HKEY_CLASSES_ROOT前面的小三角:找到Directory,点击前面的小三角:找到Background,点击前面的小三角:打开 ...
- 写在vue总结之前(二)
都说要快速学会一个技术(会使用),比如一个框架,在实际的工作中做相关的项目是最快的学习方式.而为什么在实际的工作项目中去学习是最快的方式?个人的体会是,在实际的工作项目中,很多功能的实现是你不得不做的 ...
- 通过编写PHP代码并运用“正则表达式”来实现对试题文档进行去重复、排序
通过编写PHP代码并运用“正则表达式”来实现对试题文档进行去重复.排序 <?php $subject = file_get_contents('test.txt'); $pattern = '/ ...
- [UE4]AWP开镜时模糊
一.Add to Viewport的Zorder越大,添加进来的UI越靠近前面.也就是大的Zorder会覆盖Zorder小的UI. 二.镜头模糊,在专心UI中添加一个模糊滤镜设置模糊值,并放在最上层.