蓝桥杯 ADV-177 算法提高 理财计划

问题描述
  银行近期推出了一款新的理财计划“重复计息储蓄”。储户只需在每个月月初存入固定金额的现金,银行就会在每个月月底根据储户账户内的金额算出该月的利息并将利息存入用户账号。现在如果某人每月存入k元,请你帮他计算一下,n月后,他可以获得多少收益。
输入格式
  输入数据仅一行,包括两个整数k(100<=k<=10000)、n(1<=n<=48)和一个小数p(0.001<=p<=0.01),分别表示每月存入的金额、存款时长、存款利息。
输出格式
  输出数据仅一个数,表示可以得到的收益。
样例输入
1000 6 0.01
样例输出
213.53
分析:不知道给出的样例是不是有问题。。我用xcode运行出来结果是213.54
结果提交了还AC了。。。

 

蓝桥杯 ADV-173 算法提高 淘淘的名单

问题描述
  by ZBY… :) 淘淘拿到了一份名单,他想对上面的名字进行处理,挑出一些特殊的名字,他请你来帮忙。
  淘淘关注以下名字:
  如果这个名字是“WYS”,他希望你的程序输出“KXZSMR”。
  如果这个名字是“CQ”,他希望你的程序输出“CHAIQIANG”。
  如果这个名字是“LC“,他希望你的程序输出“DRAGONNET”。
  如果这个名字是“SYT”或“SSD”或“LSS”或“LYF”,他希望你的程序输出“STUDYFATHER”。
  如果这个名字与上述任意名字都不相同,他希望你的程序输出“DENOMINATOR”。
输入格式
  第一行有一个整数N,表示淘淘手中名单里的人数。
  接下来N行,每行有一个字符串,即名单里的人名。
输出格式
  输出N行,每行输出每个人名的判断结果。
样例输入
9
WYS
CQ
WYS
LC
SYT
SSD
LSS
LYF
ZBY

样例输出
KXZSMR
CHAIQIANG
KXZSMR
DRAGONNET
STUDYFATHER
STUDYFATHER
STUDYFATHER
STUDYFATHER
DENOMINATOR

数据规模和约定
  对于 50% 数据,N <= 1000,且名单中的名字仅可能为“WYS”,“CQ”,“LC”三者之一,没有其他的名字。
  对于 100% 数据,N <= 10000,人名仅由大写字母组成,长度不超过5。
分析:水题。。但是原谅我才知道switch里面只能char型或者int型。。我还以为可以string类型。。。

 

蓝桥杯 ADV-9 算法提高 递归倒置字符数组

问题描述
  完成一个递归程序,倒置字符数组。并打印实现过程
  递归逻辑为:
  当字符长度等于1时,直接返回
  否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分
输入格式
  字符数组长度及该数组
输出格式
  在求解过程中,打印字符数组的变化情况。
  最后空一行,在程序结尾处打印倒置后该数组的各个元素。
样例输入
Sample 1
5 abcde
Sample 2
1 a

样例输出
Sample 1
ebcda
edcba
edcba
Sample 2
a

分析:测试用例坑坑哒。。最后会多输出一遍倒置完了的字符串就算了。。还会在前面多加一个空行。。。(手动再见- -||)

 

蓝桥杯ADV-172 算法提高 身份证排序

问题描述
  安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序。身份证号码为18位的数字组成,出生日期为第7到第14位
输入格式
  第一行一个整数n,表示有n个身份证号码
  余下的n行,每行一个身份证号码。
输出格式
  按出生日期从大到小排序后的身份证号,每行一条
样例输入
5
466272307503271156
215856472207097978
234804580401078365
404475727700034980
710351408803093165
样例输出
404475727700034980
234804580401078365
215856472207097978
710351408803093165
466272307503271156
数据规模和约定
  n<=100000
分析:没有什么技术含量。。用sort并且写好cmp函数就行~

 

蓝桥杯 ADV-170 算法提高 数字黑洞

问题描述
任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:
1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;
2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);
3)求两个数的差,得到一个新的四位数(高位零保留)。
重复以上过程,最后一定会得到的结果是6174。
比如:4312 3087 8352 6174,经过三次变换,得到6174
输入格式
一个四位整数,输入保证四位数字不全相同
输出格式
一个整数,表示这个数字经过多少次变换能得到6174
样例输入
4312
样例输出
3

 

蓝桥杯 ADV-120 算法提高 6-17复数四则运算

设计复数库,实现基本的复数加减乘除运算。
输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按a+bi的格式在屏幕上打印结果。参加样例输入和样例输出。
注意考虑特殊情况,无法计算时输出字符串”error”。
样例输入
2 4 * -3 2
样例输出
-14-8i
样例输入
3 -2 + -1 3
样例输出
2+1i
分析:除法的时候有点麻烦,结果要变成浮点型,因为测试用例的答案是统一输出一位有效数字的。。所以0.123输出0.1  1.000输出1。。。我用了cout的setprecision控制输出的有效数字个数~