当前位置: 首页 > news >正文

蓝桥杯备赛日记【day1】(c++赛道)

一、裁纸刀问题(2022、规律、思维、省赛)


解法思路:

        参考题目给出的例子发现。不管要裁剪多少次。最外围的四次是固定的。然后通过观察发现,我们的行的裁剪次数为(m-1) 次,而每行都需要裁剪列数即(n-1)次。所以总共需要裁剪的次数就为(m-1)+m*(n-1)+4次。故能将上题解出。

代码描述:

#include <bits/stdc++.h>
using namespace std;
int main()
{// 请在此输入您的代码int m,n;cin>>m>>n;cout<<(m-1)+m*(n-1)+4;return 0;
}

二、数位和【省赛模拟】(2023 模拟 省模拟赛)


解法思路:

        将本题拆分成如下几个子问题:

  • 判断一个数是不是素数。
  • 多少个素数各个数位上的和=23。 

        所以我们对照问题我们就得首先定义个判断素数的函数,再通过将素数转化成“串”来遍历累加。如果刚好等于23则计数变量++

代码描述

#include<bits/stdc++.h>
using namespace std;
//设置判断素数的函数
bool is_prime(int x)
{if (x < 2){return false;}for (int i = 2; i<=x / i; i++){if (x%i == 0){return false;}}return true;
}int main(){int num=0,count=0,tem=0;for(int i=1;i=<1000000;i++){if(is_prime(i)){tem=i;string S=to_string(tem);    //利用to_string()函数将tem转化成S;//利用迭代器p遍历字符串S对其进行累加。for(auto p=S.begin();p!=S.end();p++){num+=*p-48;    //因为字符类型的ascll码要大48,所以要将其减去。}if(num==23){count++;}cout<<sum;return 0;
}

三、 最少步数【省模拟赛】(2023 贪心 省模拟赛)


解题思路:

        本题是一个简单的贪心算法问题,对本题进行贪心运算就能解出。

代码描述

#include <bits/stdc++.h>
//利用贪心算法将能走的步数排列
using namespace std;
int min(int n){int count=0,sum2=0,tem1=0;sum2=n%3;       //算出最多走3级阶梯后剩余的阶梯数tem1=sum2%2;    //算出最多走2级阶梯后剩余的阶梯数count=n/3+sum2/2+tem1;//将三次走的步数相加return count;
}
int main()
{// 请在此输入您的代码int n;cin>>n;int count=0;count=min(n);cout<<count;return 0;
}

 四、握手问题(省赛 数学 2024)


解题思路:

        这道题很简单,只需要举几个例子。第一个人跟剩下49个人握手,第二个人由于已经跟第一个人握手了,所以只跟剩下的47人握手。依次类推到最后七个人。因为没有互相握手,所以次数都是0.所以我们发现,这就是个简单的累加问题

代码描述:

#include <bits/stdc++.h>
using namespace std;
int main(){int sum=0;for(int i=7;i<=49;i++) sum+=i;cout<<sum;return 0;
}

五、 好数(暴力 枚举 省赛 2024)


解题思路:

        设置两个函数,通过递归来判断奇偶是否符合条件然后来判断是否符合好数

代码描述:

#include <bits/stdc++.h>
using namespace std;
bool fun_1(int a){  //判断奇数位int x=a;if(x!=0){if(x%2!=0){x/=100;return fun_1(x);}else{return false;}}else {return true;}
}
bool fun_2(int b){ //判断偶数位int y=b;if(y!=0){y/=10;if(y%2==0){y/=10;return fun_2(y);}else{return false;}}else{return true;}
}
int main()
{// 请在此输入您的代码int N,num=0;cin>>N;for(int i=1;i<=N;i++){if(fun_1(i)&&fun_2(i)) num++;}cout<<num;return 0;
}

http://www.lryc.cn/news/547879.html

相关文章:

  • 【大模型基础_毛玉仁】1.4 语言模型的采样方法
  • [内网安全] Windows 本地认证 — NTLM 哈希和 LM 哈希
  • 基于SNR估计的自适应码率LDPC编译码算法matlab性能仿真,对比固定码率LDPC的系统传输性能
  • opencv 模板匹配方法汇总
  • Embedding技术:DeepWalkNode2vec
  • 微信小程序注册组件
  • 【docker】安装mysql,修改端口号并重启,root改密
  • 自定义wordpress三级导航菜单代码
  • 洛谷 P1480 A/B Problem(高精度详解)c++
  • JAVA入门——网络编程简介
  • Ubuntu 合上屏幕 不待机 设置
  • 捣鼓180天,我写了一个相册小程序
  • 短分享-Flink图构建
  • 【监督学习】支持向量机步骤及matlab实现
  • 机器学习-随机森林解析
  • Javaweb后端spring事务管理 事务四大特性ACID
  • 在Spring Boot + MyBatis中优雅处理多表数据清洗:基于XML的配置化方案
  • 【无标题】四色拓扑模型与宇宙历史重构的猜想框架
  • [特殊字符] Django 常用命令
  • mysql中如何保证没有幻读发生
  • Golang实践录:go发布版本信息收集
  • 字节跳动AI原生编程工具Trae和百度“三大开发神器”AgentBuilder、AppBuilder、ModelBuilder的区别是?
  • 【UCB CS 61B SP24】Lecture 21: Data Structures 5: Priority Queues and Heaps 学习笔记
  • mapbox高阶,结合threejs(threebox)添加三维球体
  • QEMU源码全解析 —— 块设备虚拟化(1)
  • IDEA中Git版本回退终极指南:Reset与Revert双方案详解
  • Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配
  • 实验一:在Windows 10/11下配置和管理TCP/IP
  • 基于hive的电信离线用户的行为分析系统
  • Rust WebAssembly 入门教程