蓝桥杯
WinOneKey
这个作者很懒,什么都没留下…
展开
-
大数相加算法,基于C++
自己在做蓝桥杯题目是,发现了很多需要大数计算的算法,查阅相关资料,东西冗杂,决定自己写算法。先做大数相加算法。两个相加的大数的极限就是编译器字符串能接纳位数的极限。采用C++中得string类作为容器。首先准备三个容器,str1与str2接受数据,result接纳相加结果,原理就是模拟加法的手工计算,先从低位开始相加,若超过10则进1。其中有很多细节性问题,我列举一下:原创 2018-01-28 21:00:11 · 933 阅读 · 0 评论 -
C++ 大数相乘算法
首先说一下乘法计算的算法:同样是模拟人工计算时的方法。从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果之后,用第二位相乘,记录结果并且左移一位,以此类推,直到计算完最后一位,再将各项结果相加,得出最后结果。计算的过程基本上和小学生列竖式做乘法相同。为编程方便,并不急于处理进位,而将进位问题留待最后统一处理。我们以125*53为例来说明计算过程:1、先算125...原创 2018-01-29 16:49:13 · 24089 阅读 · 5 评论 -
表达式求值问题
这是清华大学邓俊辉数据结构(C++)中的一个案例,通过使用栈这种数据结构,完成了较为复杂的表达式求值问题,以下代码是我整理改编而成,能够完成加减乘除,乘方、阶乘的运算,以及括号的处理。在这里,我使用到了C++ STL 中的容器stack。 #include<iostream>#include<stack>#include<cmath>#inc...原创 2018-09-28 15:41:16 · 1414 阅读 · 0 评论 -
数字三角形多种题解(动态规划)(POJ1163)
题目:73 88 1 02 7 4 44 5 2 6 5在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需求出这个最大和即可,不必给出具体路径。三角形的行数大于1小于等于100,数字为0-99...原创 2019-02-16 15:48:40 · 804 阅读 · 0 评论 -
2018蓝桥杯 明码 解题方法
题目:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。###16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。###一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节....第31字节, 第3...原创 2019-03-08 16:24:42 · 998 阅读 · 0 评论 -
黄金连分数(斐波那契数列、大数运算)正确解法
标题: 黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一 个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正传,我们如何求...原创 2019-03-06 18:02:43 · 5046 阅读 · 1 评论 -
连号区间数(暴力破解)蓝桥杯试题
标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了...原创 2019-03-06 22:00:39 · 574 阅读 · 0 评论 -
2018第九届蓝桥杯 第二题 明码(简单方法&位运算)
标题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... ...原创 2019-03-17 14:59:19 · 626 阅读 · 1 评论