文章目录

  • 试题A:立方和
  • 试题B:子串数字
  • 试题C:质数
  • 试题D: 最短路
  • 试题E: RSA解密
  • 试题F: Fibonacci 数列与黄金分割
  • 试题G: 扫地机器人

相关文章:

  • 2020年10月蓝桥杯(软件类)省赛:题目+解答
  • 2020年3月蓝桥杯(软件类)第一次模拟赛:题目+解答
  • 2020年4月蓝桥杯(软件类)第二次模拟赛:题目+解答

试题A:立方和


解析:

#include<iostream>
#include<sstream>
#include<math.h>
using namespace std;string int_str(int a)
{string out;stringstream Convert;Convert<<a;Convert>>out;return out;
}int main()
{int a=0;cin>>a;long long sum=0;for(int i=1; i<=a; ++i){string str = int_str(i);if(str.find('2',0)!=string::npos||str.find('0',0)!=string::npos||str.find('1',0)!=string::npos||str.find('9',0)!=string::npos)sum += pow(i,3);    }cout<<sum<<endl;return 0;
}

答案: 4097482414389


试题B:子串数字


解析:

#include<iostream>
#include<math.h>
using namespace std;int main()
{long long sum=0;int num=0;string s;cin>>s;for(int i=0; i<s.size(); ++i){num = s[s.size()-1-i]-'A'+1;sum += num*pow(26, i);}cout<<sum<<endl;return 0;
}

答案: 3725573269


试题C:质数


解析:

#include<iostream>
#include<math.h>
using namespace std;//判断n是否是质数,n>=1
bool isZS(int n)
{if(n==1||n==2||n==3)return true;else{for(int i=2; i<=sqrt(n); ++i){if(n%i==0)return false;}return true;}
}int main()
{int j=2,count=0;while(count<2019){if(isZS(j))count++; //计数 j++;}cout<<j-1<<endl; //因为在while中最后是加1的,所以输出j-1 return 0;
}

答案: 17569

试题D: 最短路


解析: 本题是填空题,可直接看出答案为6,最佳路径:S-J-B-A或者S-M-L-H-D-A。


试题E: RSA解密


解析:
本题是填空题中最难的一道。本题涉及到很多数论的知识:质因子分解,扩展欧几里得算法,快速幂算法,利用快速乘算法求解快速幂(mod太大导致不能直接乘,而是需要使用加法来替代乘法)。另外还需要注意扩展欧几里得算法求解出来的乘法逆可能是负数,所以需要使用公式进行转换。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<fstream>using namespace std;
typedef long long LL;
/*
首先生成两个质数p, q,令n = p * q,设d 与(p -1)*(q -1) 互质,则可
找到e 使得d * e 除(p-1)*(q -1) 的余数为1。
现在你知道公钥中n = 1001733993063167141, d = 212353,同时你截获了别人发送的密文C = 20190324,请问,原文是多少?
当收到密文C 时,可使用私钥解开,计算公式为X = C^e mod n。答案:579706994112328949
*/
/*
p=891234941 q=1123984201
*/
//扩展欧几里得算法
void exgcd(LL a,LL b,LL&d,LL& x,LL& y){//d=gcd(a,b)if(!b){d=a;x=1;y=0;}else{exgcd(b,a%b,d,y,x);y-=x*(a/b);}
}
//快速乘
LL quickMul(LL a,LL b,LL mod){LL ans=0;//这里初值为0 while(b){if(b&1)ans=(ans+a)%mod;a=(a+a)%mod;b>>=1;}return ans%mod;
}
LL quickPower(LL a,LL b,LL mod){LL ans=1;//注意这里初值是1 while(b){if(b&1)ans=quickMul(ans,a,mod)%mod;a=quickMul(a,a,mod)%mod;b>>=1;}return ans%mod;
}
int main(){LL n=1001733993063167141;//分解质因数 for(LL i=2;i*i<=n;i++){while(n%i==0){//cout<<i<<" "<<n/i<<endl;//两个质数 n/=i;}}LL p=891234941,q=1123984201;LL mod=(p-1)*(q-1);LL d=212353;LL e,y,gcd;//d*e==1(%mod)//扩展欧几里得算法 exgcd(d,mod,gcd,e,y);e=(e%mod+mod)%mod;//这里是因为e可能为负数 //cout<<e<<endl;LL c=20190324;n=1001733993063167141;//X = C^e mod nLL x;//快速幂和快速乘相结合 cout<<quickPower(c,e,n)<<endl;return 0;
}

试题F: Fibonacci 数列与黄金分割


解析:

#include<iostream>
#include<iomanip>
using namespace std;//Fibonacci 数列
double f(double n)
{if(n==1)return 1;else if(n==2)return 1;elsereturn f(n-1)+f(n-2);
}int main()
{int a=0;cin>>a;double output = f(a)/f(a+1);//小数点后保留8位数字 cout<<setprecision(8)<<fixed<<output<<endl;return 0;
}

试题G: 扫地机器人


解析:

#include<iostream>
#include<algorithm>
using namespace std;
int N,K;
int a[100]; //K个机器人位置
int b[100]; //标记N个方格中是否有机器人
int check1(int first_L,int L){ //第一个区间长度为first_L,之后区间长度都为L int i,j;if(first_L+(K-1)*L<N){return 0;}i=1; //第i个区间 j=1; //当前查看的方格位置 while(j<=N){if(b[j]==1){ //第i个区间内有机器人 j=first_L+(i-1)*L+1; //j指向下一个区间起点 i++; //下一个区间 }else{j++;if(j==first_L+(i-1)*L+1||j==N+1){ //第i个区间内没有机器人return 0; }}        } return 1;
}
int check(int L){int first_L; //首区间的长度(取值范围:1~L) for(first_L=L;first_L>0;first_L--){if(check1(first_L,L)){return 1;}}return 0;
}
int fun(){int i,j,L;for(L=N/K;L<=N;L++){ if(check(L)){return L;}}
}
int main(){int i,L;cin>>N>>K;for(i=1;i<=K;i++){cin>>a[i];b[a[i]]=1; //标记a[i]位置有机器人 }sort(a+1,a+K+1);L=fun();cout<<2*(L-1);return 0;
}

后续正在更新中。。。

蓝桥杯2019年软件类省赛:真题+解答相关推荐

  1. 2020年 第11届 蓝桥杯 C/C++ B组 省赛真题详解及小结【第1场省赛2020.7.5】【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  2. 蓝桥杯java B组历年省赛真题汇总及题目详解

    蓝桥杯java B组历年省赛真题汇总及题目详解 2019年第十届蓝桥杯省赛真题详解 2018年第九届蓝桥杯省赛真题详解 2017年第八届蓝桥杯省赛真题详解 2016年第七届蓝桥杯省赛真题详解 2015 ...

  3. 蓝桥杯嵌入式第十届省赛真题

    蓝桥杯嵌入式第十届省赛真题 文章目录 蓝桥杯嵌入式第十届省赛真题 1.题目分析 2.项目结构 2.1数组思路 2.2Key_Flag控制对应逻辑 2.3KEY控制操作 1.题目分析 总的来说这题考点特 ...

  4. 第九届蓝桥杯JavaA组(2018年)省赛真题解析

    第九届蓝桥杯JavaA组(2018年)省赛真题解析 1.分数 1/1+1/2+1/4+1/8+1/16+- 每项是前一项的一半,如果一共有20项,求这个和是多少 结果用分数表示,类似: 3/2,当然这 ...

  5. 【蓝桥杯单片机第十二届国赛真题】

    [蓝桥杯单片机第十二届国赛真题] 文章目录 [蓝桥杯单片机第十二届国赛真题] 前言 一.真题 二.源码 前言 有幸进入国赛,为自己大学最后一个比赛画上完满的句号^@^ 下面为蓝桥杯单片机第十二届国赛程 ...

  6. Java实现第十一届蓝桥杯C/C++ 大学 B 组大赛软件类 省赛真题(希望能和各位大佬能一起讨论算法题:讨论群:99979568)

    跑步训练 纪念日 合并检测 REPEAT程序 矩阵 整除序列 解码 走方格 整数拼接 网络分析 试题 A: 跑步训练 本题总分:5 分 [问题描述] 小明要做一个跑步训练. 初始时,小明充满体力,体力 ...

  7. 蓝桥杯嵌入式STM32G431——第九届省赛真题电子定时器

    第九届省赛真题电子定时器 第九届省赛真题 主函数代码(不包含各模块初始化代码) 按键模块与LCD模块的逻辑图(仅供参考) 第九届省赛真题 主函数代码(不包含各模块初始化代码) #include &qu ...

  8. [蓝桥杯]2020年第十一届省赛真题C/C++ B组(七月)

    第十一届蓝桥杯省赛题目 试题A: 跑步训练 试题B: 纪念日 试题C: 合并检测 试题D: REPEAT 程序 试题E: 矩阵 试题F: 整除序列 试题G: 解码 试题H: 走方格 试题I:整数拼接 ...

  9. [蓝桥杯]2018年第九届省赛真题C/C++ B组 填空+大题

    第九届蓝桥杯省赛题目 填空A:第几天 填空B:明码 填空C:乘积尾零 填空 D: 测试次数(待学习) 填空 E:快速排序 大题F:递增三元组 大题G: 螺旋折线 大题H:日志统计 大题I-全球变暖 填 ...

  10. 蓝桥杯嵌入式第十二届省赛真题

    第十二届蓝桥杯嵌入式-停车计费 文章目录 第十二届蓝桥杯嵌入式-停车计费 1.题目分析 2.项目结构 2.1停车部分整体流程 2.2串口数据解析流程 2.3细节部分 3.代码结构 3.1停车部分 3. ...

最新文章

  1. 7 php程序的调试方法_php程序调试方法总结
  2. struts2教程--标签库详解
  3. Cmake常用基本命令复习
  4. SQL实战篇:SQL窗口函数及真题
  5. Linux上搭建伪集群 Hadoop3.1
  6. win10虚拟网络服务器,win10 虚拟专用网络服务器配置
  7. 对 飞秋 程序设计的一些新想法
  8. kde重启_重启崩溃的 KDE
  9. 万丰科技机器人排名_万丰科技拟“借壳”长春经开
  10. PHP大批量插入数据库的3种方法和速度对比
  11. Atitit 部署了个webdav服务 as root 目录 1.1. WEB-INF copy to root dir only a web.xml use... 1 1.2. Java.ba
  12. caffe 安装指南
  13. Jenkins下载安装
  14. CS231n Assiganment#1-KNN 代码解析
  15. 英语对话关于计算机,有关电脑的一些英语对话
  16. 开源多云技术平台——Choerodon猪齿鱼发布0.23版本
  17. 计算机怎么发音乐,有哪些方法可以把歌曲发送到远方的朋友的手机上?
  18. 一步一步理解CPU芯片漏洞:Meltdown与Spectre
  19. 运行 skimage 报错ImportError: DLL load failed:找不到指定模块
  20. 苹果MacBook电脑应用优化利器CleanMyMac X

热门文章

  1. 如何结束vbs的代码
  2. 计算机留言板毕业论文摘要,留言板系统设计(毕业论文)
  3. 锐捷客户端显示无法连接认证服务器,锐捷客户端连接失败怎么办 锐捷连不上解决办法...
  4. Android通讯录程序设计报告,Android个人通讯录课程设计报告.doc
  5. JavaScript:使用js脚本写入HTML代码
  6. 模式识别的几种基本算法
  7. 启明星数据库批量备份与还原工具
  8. 冒险岛无敌外挂代码诠释
  9. hplus java_Java HijrahDate plus(long, TemporalUnit)用法及代码示例
  10. Python内置数学模块全整理,易查易阅