• 蓝桥杯:真题讲解1(C++版)附带解析


    约数个数

    来自:2020年十一届省赛大学C组真题(共9道题)

    分析:

    约数是什么?

    整数a/整数b(b!=0),能够整除,b就是a的约数。a称为b的倍数。   约数也称为因子。

    代码:

    1. #include
    2. using namespace std;
    3. int main()
    4. {
    5. // 请在此输入您的代码
    6. int num = 1200000;
    7. int ans = 0;
    8. for(int i=1;i <=num;i++){
    9. if(num % i ==0) ans++;
    10. }
    11. cout << ans;
    12. return 0;
    13. }

    特别数的和

    来自:2019年十届省赛大学B组真题(共10道题)

    分析:利用取余和除法判断每一位是否符合即可。

    代码:

    1. #include
    2. using namespace std;
    3. int main() {
    4. // 请在此输入您的代码
    5. int n,j,k; //j和k为辅助作用
    6. cin >> n;
    7. int ans=0;
    8. for(int i=1; i<=n; i++) {
    9. j=i;
    10. while(j) {
    11. k= j%10; //先从个位看
    12. if(k==2 || k== 0 || k==1 || k==9) {
    13. ans+=i;
    14. break;
    15. }
    16. j =j/10; //不符合条件看十位、百位...
    17. }
    18. }
    19. cout << ans;
    20. return 0;
    21. }

    年号字串

    分析:用excel更好求解:

    按行填充到2019,excel使用的就是这个定义规则。

    结果:

    代码:

    1. #include
    2. using namespace std;
    3. int main()
    4. {
    5. // 请在此输入您的代码
    6. cout << "BYQ";
    7. return 0;
    8. }

    奇妙的数字

    来自:2015年六届省赛大学C组真题(共6道题)

    分析:直接暴力求解,使用C++的api。

    代码:

    1. #include
    2. using namespace std;
    3. int main()
    4. {
    5. // 请在此输入您的代码
    6. for(long long i=1;;i++){
    7. long long num1=i*i;
    8. long long num2=i*i*i;
    9. string str = to_string(num1)+to_string(num2);
    10. sort(str.begin(),str.end());
    11. if(str!="0123456789") continue;
    12. cout << i;
    13. break;
    14. }
    15. }

    运行结果是69,我们直接输出69即可。

    饮料换购

    来自:2015年六届省赛大学C组真题(共6道题)

    分析:按照题意模拟即可。

    代码:

    1. #include
    2. using namespace std;
    3. int main() {
    4. // 请在此输入您的代码
    5. int n;
    6. cin >> n;
    7. int ans=n;
    8. while(n>=3) {
    9. int yu=n%3;
    10. n=n/3;
    11. ans+=n;
    12. n+=yu;
    13. }
    14. cout << ans;
    15. return 0;
    16. }

    奖券数目

    来自:2015年六届省赛大学B组真题(共6道题)

    分析:根据题意模拟即可。

    代码:

    1. #include
    2. using namespace std;
    3. int main()
    4. {
    5. // 请在此输入您的代码
    6. int ans=0;
    7. for(int i=10000;i<=99999;i++){
    8. string str = to_string(i);
    9. if(str.find('4') == -1){ //等于-1即没找到
    10. ans++;
    11. }
    12. }
    13. cout << ans;
    14. return 0;
    15. }

    pow函数的使用

    用于计算计算x的y次幂:double pow( double base, double exp );

  • 相关阅读:
    FastDFS在centos7上的配置
    TinyOs操作系统---第0章 课程概述
    暑假加餐|有钱人和你想的不一样(第2天)+多目标蝙蝠优化算法(Matlab代码实现)
    this相关问题
    [附源码]计算机毕业设计基于Springboot在线教育系统
    深度学习-【目标检测】学习笔记 COCO数据集介绍及pycocotools简单使用
    Net Core中使用EF Core连接Mysql数据库
    【图像分类】2021-CoAtNet NeurlPS
    轻量级RPC分布式网络通信框架设计——服务配置中心zookeeper解析
    【hisi】——hisi开发相关文档
  • 原文地址:https://blog.csdn.net/m0_74098386/article/details/136208823