- 博客(17)
- 收藏
- 关注
原创 蓝桥杯大赛--取球博弈
今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。我们约定:每个人从盒子中取出的球的数目必须是:1,3,7或者8个。轮到某一方取球时不能弃权!A先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方)请编程确定出在双方都不判断失误的情况
2016-03-18 09:57:22
2440
原创 第五届蓝桥杯省赛解题报告--神奇算式
标题:神奇算式 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。 比如: 210 x 6 = 1260 8 x 473 = 378427 x 81 = 2187 都符合要求。 如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,一共有多少种满足要求的算式。
2016-03-16 11:45:44
3606
2
原创 Playfair密码
一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme,则该方阵如下:y o
2016-03-11 11:52:16
12683
原创 古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把ABCDE 所代表的数字写出来。答案写在“解答.txt”中,不要写在这里!package me
2016-03-10 18:54:02
687
原创 方阵逆时针旋转
一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,对如下的方阵:1 2 3 45 6 7 89 10 11 1213 1415 16转置后变为:1 5 9 132 6 10 143 7 11 154 8 12 16但,如果是对该方阵顺时针旋转(不是转置),却是如下结果:13 9 5 114 10 6
2016-03-10 16:48:38
573
原创 人民币金额大写
在与财务相关的应用中,经常会用到人民币金额的大写,比如发票的打印程序。本题的任务是:从键盘输入一个十亿以内的正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误的情况)。比如,用户输入:35201,程序输出:叁万伍仟贰佰零壹用户输入:30201,程序输出:叁万零贰佰零壹用户输入:30001,程序输出:叁万零壹用户输入:31000,程序输出:叁万壹仟用户输入:1
2016-03-10 16:20:49
1123
原创 古代赌局
俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。输赢规则如下:1. 若某一个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目赔付
2016-03-09 20:28:39
551
原创 画表格
在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看)+-------+------+|abc |xyz=tt|+-------+------+|hellomm|t2 |+-------+------+本题目要求设计一个程序,把用户输入的内容用这种“准表格”的方式展现出
2016-03-08 20:36:33
395
原创 java实现快速排序算法
package sort;import java.util.Arrays;public class QuickSortDemo { // 交换数组两个下标对应的元素 static void swap(int[] arr, int a, int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } // 分割
2016-03-07 20:26:05
916
原创 密码发生器
/* * 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了...这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。变换的过程如下:第一步.
2016-03-06 20:31:48
451
原创 填算式(使用全排列处理)
问题描述看这个算式:☆☆☆+ ☆☆☆= ☆☆☆如果每个五角星代表1 ~ 9 的不同的数字。这个算式有多少种可能的正确填写方法?173 + 286 = 459295 + 173 = 468173 + 295 = 468183 + 492 = 675以上都是正确的填写法!注意:111 + 222 = 333是错误的填写法!因为每个数字
2016-03-06 19:20:53
409
原创 古罗马数字转十进制
问题描述古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候, 现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题, 而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念! 罗马数字的表示主要依赖以下几个基本符号: I 1 V 5 X
2016-03-05 14:35:15
834
原创 求较大数的阶乘
其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。输入格式 输入包含一个
2016-03-05 13:40:44
560
原创 提取拼音首字母
问题描述在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”。怎样在自己的软件中实现这个功能呢?问题的关键在于:对每个汉字必须能计算出它的拼音首字母。 GB2312汉字编码方式中,一级汉字的3755个是按照拼音顺序排列的。我们可以利用这个特征,对常用汉字求拼音首字母。 GB2312编码方案对每个汉字采
2016-03-05 13:37:56
1694
原创 插入排序的java实现
引入:插入排序是编程中常见的排序方式,它的原理类似于大家打扑克牌码牌的过程,适用于对较少元素的排序。算法描述:INSERTION-SORT(A)for i = 2 to A.lengthkey = A[i]i = j - 1while i > 0 and a[i] > keya[i+1] = a[i]i = i - 1A[
2016-03-05 11:42:14
332
原创 堆排序的java实现
在堆排序的java实现中,待排序的数组arr[0]是空出来不使用的,因为java数组的下标是从0开始的,而堆的起始下标为1(保证满足父节点与左右节点的算数关系)。因此arr[1],arr[2]...ar[arr.length - 1]是被排序的元素集合。在堆排序算法中,每次将堆的最后一个元素与堆顶元素(当前堆最大元素)进行交换,然后将堆大小heapSize减1,再对根节点进行最大堆的维护,依次类推
2016-03-04 09:57:21
470
原创 蓝桥杯学习记录:Excel地址转换问题(进制转换)
问题描述: Excel是最常用的办公软件。每个单元格都有唯一的地址表示。比如:第12行第4列表示为:“ D12”,第5行第255列表示为“IU5”。事实上,Excel提供了两种地址表示方法,还有一种表示法叫做RC格式地址。第12行第4列表示为:“R12C4”,第5行第255列表示为“R5C255”。你的任务是:编写程序,实现从
2016-02-27 12:40:27
2200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人