蓝桥杯真题31日冲刺 |第一天

news2024/11/26 17:24:14

蓝桥杯真题31日冲刺 |第一天

一:完全平方数

  • 题目:[链接](完全平方数 - 蓝桥云课 (lanqiao.cn))

    image-20230307110337183

  • 思路:

    • 每个 完全平方数都 消掉,剩下的就是 不能构成平方的数

    • 以12 为例:

      image-20230307110551623

    • 所以 12 只要再 乘个三 即可满足

  • 代码实现:

    #include <iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
      // 请在此输入您的代码
      long long  x;
      cin>>x;
      for(long long i=2;i*i<=x;i++)
      {
        while(x % (i*i) ==0) //将 每个 完全平方数都 消掉,剩下的就是 不能构成平方的数
        x /= i*i;
      }
      cout<<x<<endl;
      return 0;
    }
    
  • 总结:

    所以,当 我们 遇到 平方数 求解的 题时, 我们要 学会 拆分!

    这就是 化繁为简,难题就是 这样 一步步 变 简单的!!

二:9数算式

  • 题目:9数算式

    image-20230307111000295

  • 思路:

    1. 我们 先看 其中 一种字符串的排列(化繁为简!!) --》
      • image-20230307111337248
    2. 所以 只要我们列出 所有 排列 中的 所有 left,right 的取值,就能找到 满足要求的 left,right
  • 代码实现:

    #include <iostream>
    #include<algorithm>
    using namespace std;
    
    bool Is_Accord(int x)
    {
      int v[10]={0};
      while(x!=0)
      {
        v[x%10] = 1;
        x = x/10;
      }
    
      for(int i=1;i<=9;i++)
      {
        if(v[i] !=1)
        return false;
      }
    
      return true;
    }
    int main()
    {
      // 请在此输入您的代码
      //全排列 用 algorithm 里的 next_permutation 函数来获取 排列
    
      string s ="123456789";
      int count=0;
      do{
        //依次遍历,当前 序列下 --》 x,y的情况
    
        for(int i=1;i<=8;i++)
        {
          int  x = stoi(s.substr(0,i));
          int   y = stoi(s.substr(i));
    
          if(Is_Accord(x*y) == true)
          count++;
        }
    
      }while(next_permutation(s.begin(),s.end()));
    
      cout<<count/2;
      return 0;
    }
    
  • 总结:

    1. next_permutation --> 获取 该 字符串的 下一个 全排列,包含在中
    2. 依旧是 化繁为简 ,先考虑 其中一种情况,再 推广到 整体
    3. 因为 left,right 是 有对称重复的,所有 算出来的值 要 /2;

三:最少刷题数

  • 题目:最少刷题数

image-20230307111811475

  • 思路:

    1. 先创建一个 排好序的数组 --》 通过该数组 找到 第一个 合格的刷题数
    2. 按要求打印即可
  • 代码实现:

    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    
    int main() {
    	// 请在此输入您的代码
    	int n;
    	cin >> n;
    
    	vector<int> v(n, 0);
    	for (int i = 0; i < n; i++)
    		cin >> v[i];
    
    	vector<int> tem = v;
    	sort(tem.begin(), tem.end());
    
    	int ans = 0;
    	int i = 0;
    	while (i < n) { //找到 第一个 合格 刷题数
    		int j = i;
    		//去除相等的个数
    		while (j < n && tem[j] == tem[i]) {
    			j += 1;
    		}
    		int right = n - j; //找到左边 小于于的 个数
    		int left = i;
    
    		if (left < right)
    		{
    			i = j;
    			continue;
    		}
    		else if (left > right) { //找到了第一个 合格 刷题数
    			ans = tem[i];
    			break;
    		}
    		else {
    			ans = tem[i] + 1;
    			break;
    		}
    	}
    
    	for (int k = 0; k < n; k++) {
    		if (v[k] >= tem[i])
    			cout << 0 << " ";
    		else
    			cout << ans - v[k] << " ";
    	}
    
    	return 0;
    }
    

四:山

  • 题目: 山

image-20230307112141970

  • 思路:

    1. 一定不能暴力求解,会超时

    2. 我们可以 利用对称的 思想: 假如123是单调不减的,那么 肯定有 123321 和 12321 这两个数 满足 题目要求

      • 所以我们可以分为 几种情况:

        image-20230307113011968

  • 代码实现:

    #include <iostream>
    #include<sstream>
    using namespace std;
    
    int Is_Rccord(int x) //判断是否符合
    {
      string s = to_string(x);
      int size = s.size();
      int mid = size/2;
    
      for(int i=0;i<mid;i++)
      {
        if(s[i] != s[size-1-i] || s[i] > s[i+1])
        return 0;
      }
    
      return 1;
    }
    
    int Is_Increasing(int x) //对称的 只要判断是否递增 就好了
    {
        string s = to_string(x);
    
        for(int i=0;i<s.size()-1;i++)
        {
          if(s[i] > s[i+1])
          return 0;
        }
    
        return 1;
    }
    
    int main()
    {
      // 请在此输入您的代码
      int ans=0;
    
      for(int i=2022;i<=9999;i++)
        ans += Is_Rccord(i);
    
      for(int i=100;i<=99999;i++) //奇数位 5 ,7,9
       ans +=Is_Increasing(i);
    
       for(int i=100;i<=20222;i++) //偶数位 6,8,10
       ans += Is_Increasing(i);
    
      cout<<ans;
      return 0;
    }
    
  • 总结:

    还是化繁为简, 将大数的判断 --》 转换 为 对小数的 判断 --》 只要 有一个小数 满足 要求 --》 肯定会对应到 一个大数上

总结

  • 今天的题目都不算难, 主题是 化繁为简 --》 知道怎么样去 简化 这个题目 --》 你就离答案不远了

这是 蓝桥杯真题31日冲刺 的第一天 , 每天进步一点 ,相信 一个月后,努力会给我们答案!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/393390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode-每日一题-1653(中等,字符串判断)

这道题想清楚原理的话解决起来还是比较简单的&#xff0c;就是从第一个字母开始向两边排除字母给你一个字符串 s &#xff0c;它仅包含字符 a 和 b​​​​ 。你可以删除 s 中任意数目的字符&#xff0c;使得 s 平衡 。当不存在下标对 (i,j) 满足 i < j &#xff0c;且 s[i]…

当ChatGPT遇见stable-diffusion,你不敢相信的创意艺术之旅!

前言 欢迎来到一场创意的旅程&#xff0c;这里将聚焦于 ChatGPT 和 stable-diffusion 这两个令人激动的技术。在这篇文章中&#xff0c;我们将会探索这两种技术如何结合使用&#xff0c;为艺术创作带来全新的可能性。我们将探讨如何利用 ChatGPT 生成富有想象力的创意&#xf…

Java异常详解

文章目录1. 异常1.1 异常概述1.2 异常机制概述1.3 程序错误一般分为三种1.4 异常继承结构1.5 编译时异常和运行时异常别称1.6 编译时异常和运行时异常的区别1.7 Throwable中java的异常一般分为受查异常和非受查异常1.8 异常处理方式1.9 Java常见异常1.10 throw和throws的区别1.…

Mac安装chromedriver

1、查看当前Google浏览器版本 打开Google浏览器&#xff0c;网址栏输入&#xff1a;chrome://settings/help 2、下载对应版本的chromedriver &#xff08;1&#xff09;下载地址&#xff1a;http://chromedriver.storage.googleapis.com/index.html &#xff08;2&#xff09…

17万字 JUC 看这一篇就够了(一) (精华)

JUC 今天我们来进入到 Java并发编程 JUC 框架的学习 &#xff0c;内容比较多&#xff0c;但希望我们都能静下心来&#xff0c;耐心的看完这篇文章 文章目录JUC进程概述对比线程创建线程ThreadRunnableCallable线程方法APIrun startsleep yieldjoininterrupt打断线程打断 park终…

运算符——“Python”

各位CSDN的uu们你们好呀&#xff0c;好久没有更新Python文章了&#xff0c;今天&#xff0c;小雅兰的内容就是Python中的操作符啦&#xff0c;那么现在&#xff0c;就让我们进入Python的世界吧 注释 注释是什么 注释的语法 注释的规范 输入输出 和用户交互 通过控制台输出 通…

OpenAI CTO、吴恩达夫人……AI 领域值得关注的「她」力量,个个都是女强人

内容一览&#xff1a; 「她时代」来临&#xff0c;一些有着强大信念与热情的女性&#xff0c;纷纷投身至 AI 领域&#xff0c;成为不可或缺的存在与力量。值此国际妇女节到来之际&#xff0c;HyperAI超神经盘点了领域内令人印象深刻的杰出的女性代表。 关键词&#xff1a;国际妇…

三八妇女节送什么礼物?实用的三八妇女节礼物清单

三八妇女节送什么礼物好呢&#xff01;随着中国人民的生活越来越好&#xff0c;想法也越来越多&#xff0c;&#xff0c;一般三八妇女节送礼物的&#xff0c;基本上都是给老师送礼物&#xff0c;或者给妈妈送礼物&#xff0c;我就给大家分享下&#xff0c;我今天下午送的什么吧…

超500万人次关注的千人大会!2023实在智能【未来电商高峰论坛】,圆满收官!

数字经济时代&#xff0c;电商产业乘风而起。3月4日-5日&#xff0c;一场电商行业盛会——由实在智能参与主办的未来电商高峰论坛暨2023第一届电商生态赋能大会在杭州未来科技城圆满举办。本次大会是在经济复苏背景下&#xff0c;紧紧抓住消费回暖机遇&#xff0c;进一步创新融…

scratch老鹰捉小鸡 电子学会图形化编程scratch等级考试二级真题和答案解析2022年12月

目录 scratch老鹰捉小鸡 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <

在Windows下使用Python嵌入式环境包

在 Python Releases for Windows 页面下载你需要的那个版本的 Windows embeddable package (64-bit) 文件&#xff0c;这样就得到一个 python-x.x.x-embed-amd64.zip 文件。将这个压缩包文件解压到任意目录下。 在目录中找到 pythonxxx._pth 文件&#xff0c;去掉 import site …

Micro SD Card参数基本介绍

Micro SD Card原名Trans-Flash Card或T-Flash Card&#xff0c;由SanDisk&#xff08;闪迪&#xff09;公司发明&#xff0c;目前主要用于可移动设备储存&#xff0c;比如数码相机、手机、MP4等可移动设备。 一、品牌标识 Micro SD Card虽是SanDisk&#xff08;闪迪&#xff…

Spring Cloud Gateway 服务网关详解

文章目录1.网关简介2.Gateway简介3.Gateway快速入门3.1.基础版3.2.增强版3.3.简写版4.Gateway核心架构4.1.基本概念4.2.执行流程5.断言5.1.内置路由断言工厂5.2.内置路由断言工厂的使用5.3.自定义路由断言工厂6.过滤器6.1.局部过滤器6.1.1.内置局部过滤器6.1.2.内置局部过滤器使…

电子招投标系统源码之了解电子招标投标全流程

随着各级政府部门的大力推进&#xff0c;以及国内互联网的建设&#xff0c;电子招投标已经逐渐成为国内主流的招标投标方式&#xff0c;但是依然有很多人对电子招投标的流程不够了解&#xff0c;在具体操作上存在困难。虽然各个交易平台的招标投标在线操作会略有不同&#xff0…

3.6笔试

今天做了一场cvte笔试是测试方向的一共有19道题目大概有四五道计算机网络的题目三四道python的题目三四道mysql查询问题设计测试用例题目大概有两道一道编程题1编程奇怪的是编程题出现在第二题,而且做一题交一题题目有点难理解,我看题就花了五分钟我怕后面还有编程题就草草交了…

Vue-Router路由系统

Vue-Router路由系统一、Vue路由简介和基础使用1.1 路由是什么1.2 为何使用路由1.3 Vue中如何实现路由1.4 组件分类1.5 vue-router路由系统使用二、声明式导航2.1 什么是声明式导航2.2 声明式导航跳转传参三、重定向和模式设置3.1 重定向3.2 找不到路径提示404页面3.3 路由模式设…

单线激光雷达(SICK)驱动安装及时空标定

一、引言 1、AGV需要同时具备定位、避障与导航的功能&#xff0c;其中避障对于雷达本身的分辨率、精度要求并不是很高&#xff0c;只需要能够根据预设定的雷达扫描范围准确避开障碍物即可&#xff0c;故本文以TIM240&#xff08;SICK激光类雷达&#xff09;为例介绍实现多雷达…

Canal实战 canal的坑 CanalParseException: column size is not match for table 错误

时序表结构方案设计 异常现象截图 canal的坑&#xff1a;CanalParseException: column size is not match for table (表结构缓存异常阻塞问题) 背景 早期的canal版本(<1.0.24)&#xff0c;在处理表结构的DDL变更时采用了一种简单的策略&#xff0c;在内存里维护了一个当…

Django实践-04静态资源和Ajax请求

文章目录Django实践-04静态资源和Ajax请求Django实践-04静态资源配置创建静态资源目录修改settings.py文件Django实践-04用Ajax实现投票功能修改项目的urls.py文件修改polls/views.py文件修改显示老师信息的模板页&#xff0c;引入jQuery库来实现事件处理、Ajax请求和DOM操作。…

AUTOSAR知识点Com(三):CanIf发送

1、概述 CanIf的发送请求函数CanIf_Transmit()是上层模块传输L-PDU的通用接口。上层通信层模块需要通过CanIf的服务启动传输&#xff0c;无法直接访问CanDrv。如果CanDrv能够将L-PDU数据写入CAN硬件传输对象中&#xff0c;则发起的传输请求成功完成。上层模块使用API服务CanIf_…