【NOI】C++程序结构入门之分支结构二
文章目录
- 前言
- 一、逻辑运算符
- 1.导入
- 2.逻辑与(&&)
- 3.逻辑或(||)
- 4.逻辑非(!)
- 二、例题讲解
- 问题:1656. 是两位的偶数吗
- 问题:1658. 游乐设施
- 问题:1659. 是否含有数字5
- 问题:1660. 今天要上课吗
- 问题:1661. 宇航员选拔
- 三、总结
- 四、感谢
前言
本章节在之前学习的单分支与双分支结构基础上,深入探讨了多条件判断在程序设计中的应用。
通过引入逻辑运算符——逻辑与(&&)、逻辑或(||)以及逻辑非(!),我们学会了如何将多个条件组合,以解决实际问题中更为复杂的逻辑判断需求。
借助具体场景实例,如学生选拔和数值特性判断,理解了逻辑运算符的运作机制及其在分支结构中的重要性。
学习路线:C++从入门到NOI学习路线
学习大纲:C++全国青少年信息学奥林匹克竞赛(NOI)入门级-大纲
一、逻辑运算符
1.导入
在上一节中,我们学习了一种新的数据类型——bool。
布尔类型(bool)在编程中扮演着逻辑判断的基石角色。它仅具有两种状态:“真”(True)和“假”(False),对应生活中的二选一情境,如“对错”、“有无”、“开闭”、“是否”。

利用bool变量,我们可以简洁明了地表示复杂问题中的关键逻辑状态。
在学习新知识后我们常常拿之与以前学习的内容进行对比。
例如我们前面学习的整型和浮点型的变量可以通过算术运算符进行比较、计算。

bool类型是否也存在同样的能力呢?
哎,先不着急回答。

我们来设想一个场景。
假设你们学校打算建立一支编程校队,并邀请学生报名参加选拔。报名人数非常多,学校不得不增加要求筛选出更加优秀的学生。
学校的要求如下:
- 编程基础:学生已经有一定的编程基础,或者能通过学校组织的思维逻辑测试。
- 学习成绩:学生的学科成绩至少达到全校前50%。
- 时间安排:确保每周能投入至少10小时用于编程练习和团队活动。
以上要求,学生至少满足两个,才会被选入校队。这个时候应该怎么判断一个学生是否能够加入到校队呢?
同时满足1,2;或者同时满足1,3;或者同时满足2,3。
可以看到这个时候单独的某个条件不能决定结果,我们需要将多个条件组合在一起判断。
还记得,刚才的问题吗?我想答案大家已经知道了。
答案是肯定,而bool类型的运算需要用到逻辑运算符。
2.逻辑与(&&)
逻辑与(&&): 当两边的操作数都为true时,结果才为true;否则为false。
bool a = true;
bool b = false;
bool result = a && b; // result为false,因为b为false
此运算符具有短路特性,即如果左边的操作数为false,右边的操作数不会被评估。
3.逻辑或(||)
逻辑或(||): 如果两边的操作数中至少有一个为true,结果为true;只有当两边都为false时,结果才为false。
bool a = true;
bool b = false;
bool result = a || b; // result为true,因为a为true
同样具有短路特性,如果从左到右评估操作数时,一旦遇到一个true值,运算就会立即停止,不再继续评估后续的操作数。。
4.逻辑非(!)
逻辑非(!): 这是一个一元运算符,用来反转操作数的布尔值。如果操作数为true,结果为false;如果操作数为false,结果为true。
bool a = true;
bool result = !a; // result为false,因为a为true
二、例题讲解
问题:1656. 是两位的偶数吗
类型:分支结构
题目描述:
输入一个整数 n ,请帮忙判断一下这个整数 n 是否是两位的偶数,如果是输出 Yes ,如果不是,请输出 No 。(请注意大小写)。
比如:28 就是一个两位偶数,而 128 就不是两位偶数。
输入:
一个整数 n 。
输出:
如果n是两位偶数输出 Yes ,否则输出 No 。
样例:
输入:
28
输出:
Yes

1.分析问题
- 已知:一个整数 n 。
- 未知:n是否是两位的偶数。
- 关系:10<=n<100&&n%2==0
2.定义变量
- 定义一个整型变量 n 来存储待判断的整数。
//二、数据定义 int n;
3.输入数据
- 使用 cin 从标准输入(通常是键盘)读取一个整数到变量 n 中。
//三、数据输入cin>>n;
4.数据计算
- 使用 if 语句进行条件判断,条件是:
- n 大于等于10(确保是两位数)
- n 小于100(确保是两位数)
- n 对2取余等于0(确保是偶数)
- 如果上述条件都满足,输出 “Yes”;否则,输出 “No”。
//四、数据计算 if(n>=10&&n<100&&n%2==0){//五、输出结果 cout<<"Yes";}else{//五、输出结果 cout<<"No";}
完整代码如下:
#include <bits/stdc++.h> // 包含常用头文件,提供标准输入输出等功能
using namespace std; // 使用std命名空间,简化代码中的标准库调用int main() {// 一、问题分析// 给定:一个整数n。// 目标:判断该整数是否满足两个条件:// 1. 是两位数(即10到99之间的整数)// 2. 是偶数(能被2整除)// 二、数据定义int n; // 定义一个整数变量n来存储待判断的数// 三、数据输入cin >> n; // 从标准输入读取一个整数到变量n中// 四、逻辑判断与计算// 使用if语句检查n是否满足两位数且为偶数的条件if (n >= 10 && n < 100 && n % 2 == 0) { // 判断n是否在10到99之间且能被2整除cout << "Yes"; // 如果满足条件,输出"Yes"} else {cout << "No"; // 如果不满足条件,输出"No"}// 五、程序结束return 0; // 程序执行完毕,返回0表示成功结束
}
问题:1658. 游乐设施
类型:分支结构
题目描述:
游乐场引进了一个新的游乐设施,可以两人一组开动该设施,但设施设计上有一个缺陷,必须一个人的体重在 60 公斤以上(包含 60 公斤),另一个人体重在 60 公斤以下,才能启动该设施。
请你编程从键盘读入两个游客的体重,判断一下设施能否启动,如果能启动输出 green,不能启动输出 red 。
比如输入:65.2 28.5,就可以启动设施,输出 green 。
再比如输入:28.5 56.7,就不能启动设施,输出 red 。
输入:
两个小数,代表两位游客的体重。
输出:
如果能启动输出 green ,不能启动输出 red 。
样例:
输入:
65.2 28.5
输出:
green

1.分析问题
- 已知:两个游客的体重。
- 未知:判断一下设施能否启动,如果能启动输出 green,不能启动输出 red 。
- 关系:必须一个人的体重在 60 公斤以上(包含 60 公斤),另一个人体重在 60 公斤以下,才能启动该设施。
2.定义变量
- double a, b;定义了两个变量a和b,用来存储两个游客的体重。
//二、数据定义 double a,b;
3.输入数据
- 从标准输入(通常是键盘)读取两个游客的体重。
//三、数据输入 cin>>a>>b;
4.数据计算
- if (a < b) { swap(a, b); }这行代码确保a始终代表较重的游客体重,b代表较轻的游客体重,简化后续的条件判断。
- 接下来的if语句检查体重条件是否满足设施启动的要求:a(较重者)是否大于等于60公斤且b(较轻者)是否小于60公斤。
//四、数据计算 if(a<b){swap(a,b);}if(a>=60&&b<60){//五、输出结果cout<<"green";}else{//五、输出结果cout<<"red";}
完整代码如下:
#include <bits/stdc++.h> // 包含标准库中的所有常用头文件
using namespace std; // 使用std命名空间,可以直接调用其中的函数、对象等,无需加std::前缀int main() {// 一、问题分析// 已知:需要判断两个游客的体重条件。// 目标:确定游乐设施是否能够启动。// 规则:设施启动条件为,两位游客中一人体重≥60kg且另一人<60kg。// 二、数据定义double a, b; // 定义两个双精度浮点数变量a和b,分别存储两位游客的体重// 三、数据输入cin >> a >> b; // 从标准输入读取两个体重值到a和b中// 四、数据处理// 交换a和b的值(如有必要),确保a为两人中的较重者,简化后续判断逻辑if (a < b) {swap(a, b); // 使用swap函数交换a和b的值}// 五、逻辑判断// 检查体重条件是否满足设施启动要求if (a >= 60 && b < 60) { // 若较重者≥60kg且较轻者<60kg// 六、输出结果cout << "green"; // 输出"green",表示设施可以启动} else {// 六、输出结果cout << "red"; // 输出"red",表示设施不能启动}// 七、程序结束return 0; // 主函数返回0,表示程序正常退出
}
问题:1659. 是否含有数字5
类型:分支结构
题目描述:
请从键盘读入一个五位整数 n,判断其是否含有数字 5,如果含有数字 5 ,请输出这个 5 位数各个位的和;如果不含数字 5 ,请直接输出这个 5 位数。
比如:输入:12345,就是含有数字5 ,因此输出 15(1+2+3+4+5=15)。
再比如:输入:12188 ,就不含数字 5,那么直接输出12188 。
输入:
一个五位正整数 n 。
输出:
输出一个整数,代表按要求计算的结果。
样例:
输入:
12345
输出:
15

1.分析问题
- 已知:一个五位正整数 n 。
- 未知:输出一个整数,代表按要求计算的结果。
- 关系:如果含有数字 5 ,请输出这个 5 位数各个位的和;如果不含数字 5 ,请直接输出这个 5 位数。
2.定义变量
- 定义了六个整数变量,其中n用于存储输入的五位数,而g, s, b, q, w分别对应该数的个位、十位、百位、千位和万位。
//二、数据定义 int n,g,s,b,q,w;
3.输入数据
- 从标准输入(如键盘)读取一个五位正整数并存储在变量n中。
//三、数据输入cin>>n;
4.数据计算
- 通过除法和取余运算,分离出n的每一位数字并分别存储。
- 检查五位数的每一位是否包含数字5。如果有任何一位是5,则将n更新为其各位数字之和。
//四、数据计算 g=n%10;s=n/10%10;b=n/100%10;q=n/1000%10;w=n/10000;if(g==5||s==5||b==5||q==5||w==5){n=g+s+b+q+w;}
5.输出结果
- 这里输出的n可能是原始的五位数(如果没有5),也可能是它的各位数字之和(如果包含至少一个5)。
//五、输出结果 cout<<n;return 0;
完整代码如下:
#include <bits/stdc++.h> // 包含大量常用的头文件,适用于快速编程但可能增加编译时间
using namespace std; // 使用标准命名空间std,简化对标准库函数和对象的访问int main() {// 一、问题分析// 已知:输入是一个五位正整数 n。// 目标:根据 n 中是否包含数字 5,输出不同的结果。// 规则:// - 如果 n 包含数字 5,则输出 n 各位数字之和。// - 如果 n 不包含数字 5,则直接输出 n。// 二、数据定义int n, g, s, b, q, w; // 分别代表五位数的各位(个位g, 十位s, 百位b, 千位q, 万位w)// 三、数据输入cin >> n; // 从标准输入读取一个五位正整数到变量n中// 四、数据处理// 提取各位数字g = n % 10; // 个位s = n / 10 % 10; // 十位b = n / 100 % 10; // 百位q = n / 1000 % 10; // 千位w = n / 10000; // 万位// 检查是否包含数字5if (g == 5 || s == 5 || b == 5 || q == 5 || w == 5) {// 如果n中包含数字5,则计算并更新n为各位数字之和n = g + s + b + q + w;}// 注意:如果n不含5,此处逻辑默认直接使用原n值,无需额外处理// 五、输出结果cout << n; // 输出处理后的n值,根据规则可能是原数或各位数字之和return 0; // 表示程序成功执行完毕
}
问题:1660. 今天要上课吗
类型:分支结构
题目描述:
暑假来了,晶晶报了自己心仪已久的游泳课,非常开心,老师告诉晶晶每周周一、周三、周五、周六四天都要上课的,晶晶担心自己会忘记,请你编写一个程序,从键盘读入今天星期几,输出是否要上课,如果要上课,请输出 youke ,如果不要上课,请输出 meike 。
输入:
从键盘读入一个整数 n(n 是 1∼7 之间的整数),代表今天是星期几。
输出:
根据要求输出 youke 或者 meike 。
样例:
输入:
1
输出:
youke

1.分析问题
- 已知:一个整数 n(n 是 1~7 之间的整数),代表今天是星期几。
- 未知:是否要上课。
- 关系:每周周一、周三、周五、周六四天都要上课的。
2.定义变量
- 定义一个整型变量n来存储输入的表示星期几的数字。
//二、数据定义 int n;
3.输入数据
- 从标准输入接收一个整数,用户应输入1到7之间的值,代表星期一到星期日。
//三、数据输入 cin>>n;
4.数据计算
- 如果n是1(周一)、3(周三)、5(周五)、或6(周六),则输出"youke",表示那天有课;否则,输出"meike",表示没有课。
//四、数据计算 if(n==1||n==3||n==5||n==6){//五、输出结果 cout<<"youke";}else{//五、输出结果 cout<<"meike";}
完整代码如下:
#include <bits/stdc++.h> // 包含C++标准库中的常用功能,方便快捷但可能增加编译时间
using namespace std; // 使用std命名空间,可以直接调用std中的函数和对象,无需前缀int main() {// 一、问题阐述// 给定:一个整数n,范围是1到7,分别代表星期一到星期日。// 目标:判断该天是否需要上课。// 规则:星期一(1)、星期三(3)、星期五(5)、星期六(6)需要上课。// 二、数据定义int n; // 定义一个整型变量n,存储输入的表示星期的数字// 三、数据输入cin >> n; // 从控制台读取用户输入的星期数,用户应输入1至7之间的整数// 四、逻辑判断// 使用if语句检查n的值,以判断当天是否为上课日if (n == 1 || n == 3 || n == 5 || n == 6) { // 如果n为1、3、5、或6,则表示当天有课// 五、输出结果cout << "youke"; // 输出"youke",表示需要上课} else {// 五、输出结果cout << "meike"; // 输出"meike",表示无需上课}// 六、程序结束return 0; // 主函数返回0,表示程序执行成功结束
}
问题:1661. 宇航员选拔
类型:分支结构
题目描述:
宇航局来到某部队,想从该部队挑选身体好的战士进行航空航天的培训和考核,挑选未来的宇航员。宇航局在身体素质方面定了 33 个基本的标准:身高在 165 厘米∼185 厘米之间,体重在 50 公斤∼80公斤之间,年龄在16∼19周岁(所有数据都包含边界值,也就是身高包含165 厘米和 185 厘米,体重和年龄以此类推)。
现从键盘读入一位战士的年龄、身高、体重数据(都是整数),请问该战士是否符合宇航局定的基本标准,如果符合,请输出 Y ,如果不符合,请输出 N 。
输入:
读入三个整数,分别代表一位战士的年龄、体重、身高数据。
输出:
根据判断结果输出 Y 或者 N 。
样例:
输入:
16 60 185
输出:
Y

1.分析问题
-
已知:一位战士的年龄、身高、体重数据(都是整数)。
-
未知:该战士是否符合宇航局定的基本标准。 如果符合,请输出 Y ,如果不符合,请输出 N 。
-
关系:身高在 165 厘米~185 厘米之间,体重在 50 公斤~80公斤之间,年龄在16~19周岁(所有数据都包含边界值,也就是身高包含165 厘米和 185 厘米,体重和年龄以此类推)。
2.定义变量
- 定义了三个整型变量:h(身高,厘米)、w(体重,公斤)、a(年龄,岁)。
//二、数据定义 int a,w,h;
3.输入数据
- 通过cin从标准输入读取三个整数分别赋值给变量a、w、h,即战士的年龄、体重、身高。
//三、数据输入 cin>>a>>w>>h;
4.数据计算
- 使用if语句进行逻辑判断,检查战士的身高是否在165厘米到185厘米之间、体重是否在50公斤到80公斤之间、年龄是否在16岁到19岁之间。
- 如果所有条件满足(即战士符合宇航局的标准),则输出字符Y;否则,输出N。
//四、数据计算 if(h>=165&&h<=185&&w>=50&&w<=80&&a>=16&&a<=19){//五、输出结果 cout<<"Y";}else{//五、输出结果 cout<<"N";}
完整代码如下:
#include <bits/stdc++.h> // 包含了C++标准库的大部分头文件,适合快速编程但可能导致编译时间较长
using namespace std; // 声明使用std命名空间,简化代码中标准库的使用int main() {// 一、问题分析// 已知:战士的年龄(a)、身高(h, 单位:厘米)、体重(w, 单位:公斤)皆为整数。// 目标:判断这些数据是否符合宇航局的基本标准。// 标准:身高165cm~185cm,体重50kg~80kg,年龄16岁~19岁(包含边界值)。// 二、数据定义int h, w, a; // 分别定义整型变量h(身高, cm), w(体重, kg), a(年龄, 岁)// 三、数据输入cin >> a >> w >> h; // 从控制台依次输入年龄、体重、身高的值// 四、逻辑判断// 判断输入的年龄、身高、体重是否全部满足宇航局的标准if (h >= 165 && h <= 185 && w >= 50 && w <= 80 && a >= 16 && a <= 19) {// 五、输出结果cout << "Y"; // 如果满足所有条件,输出 "Y" 表示合格} else {// 五、输出结果cout << "N"; // 如果有任何一项不满足条件,输出 "N" 表示不合格}return 0; // 程序结束,返回0表示程序执行成功
}
三、总结
通过本节内容的学习,我们掌握了逻辑运算符的使用方法及其在处理复合条件分支结构中的应用,能够编写出解决多条件筛选问题的C++程序。实例练习如判断两位偶数、分析上课日、宇航员选拔等,不仅巩固了分支结构的编程技巧,还提升了逻辑思维能力。这为应对NOI及其他编程竞赛中涉及的复杂条件判断问题打下了坚实的基础。
四、感谢
如若本文对您的学习或工作有所启发和帮助,恳请您给予宝贵的支持——轻轻一点,为文章点赞;若觉得内容值得分享给更多朋友,欢迎转发扩散;若认为此篇内容具有长期参考价值,敬请收藏以便随时查阅。
每一次您的点赞、分享与收藏,都是对我持续创作和分享的热情鼓励,也是推动我不断提供更多高质量内容的动力源泉。期待我们在下一篇文章中再次相遇,共同攀登知识的高峰!

相关文章:
【NOI】C++程序结构入门之分支结构二
文章目录 前言一、逻辑运算符1.导入2.逻辑与(&&)3.逻辑或(||)4.逻辑非(!) 二、例题讲解问题:1656. 是两位的偶数吗问题:1658. 游乐设施问题:1659. 是否含有数字5…...
web自动化系列-使用普通模式编写测试用例以及存在问题(十六)
前面已经把selenium的主要操作介绍完毕 ,接下来我们通过编写几条测试用例感受下selenium的用法 。 1.用例需求 还是以登录为例 ,需要实现的测试用例为 : case1:输入正确的用户名和密码进行登录case2 : 输入正确的用户名和错误的…...
VSCode 配置 Qt 开发环境
文章目录 1. 环境说明2. 配置系统环境变量 1. 环境说明 操作系统:Windows 11VSCode版本:1.88.1CMake版本:3.27.7Qt6版本:6.7.0(MinGW 11.2.0 64-bit) 2. 配置系统环境变量 自行根据自己的Qt安装路径配置 配置 MinGW 和 CMake C…...
【Jenkins】持续集成与交付 (七):Gitlab添加组、创建用户、创建项目和源码上传到Gitlab仓库
🟣【Jenkins】持续集成与交付 (七):Gitlab添加组、创建用户、创建项目和源码上传到Gitlab仓库 1、创建组2、创建用户3、将用户添加到组中4、在用户组中创建项目5、源码上传到Gitlab仓库5.1 初始化版本控制5.2 将文件添加到暂存区5.3 提交代码到本地仓库5.4 推送代码到 Git…...
L1-017 到底有多二
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数&…...
常用语音识别开源四大工具:Kaldi,PaddleSpeech,WeNet,EspNet
无论是基于成本效益还是社区支持,我都坚决认为开源才是推动一切应用的动力源泉。下面推荐语音识别开源工具:Kaldi,Paddle,WeNet,EspNet。 1、最成熟的Kaldi 一个广受欢迎的开源语音识别工具,由Daniel Pove…...
python笔记 | 哥德巴赫猜想
哥德巴赫猜想:每个不小于6的偶数都可以表示成两个素数之和。 素数:只能被1和自身整除的正整数。就是大于1且除了1和它本身之外没有其他因数的数。例如,2、3、5、7、11等都是素数,而4、6、8、9等则不是素数。 下面这段Python代码…...
IO基础-IO多路复用基础
Java的Selector封装了底层epoll和poll的API,可以通过指定如下参数来调用执行的内核调用, 在Linux平台,如果指定 -Djava.nio.channels.spi.SelectorProvidersun.nio.ch.PollSelectorProvider 则底层调用poll, -Djava.nio.channels.spi.Selec…...
Python机器学习项目开发实战:如何进行人脸识别
注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python机器学习项目开发实战_人脸识别_编程案例解析实例详解课程教程.pdf 人脸识别是一个复杂但…...
管理能力学习笔记五:识别团队角色,因才施用
识别团队角色,因才施用,需要做到以下三点 扬长避短 管理者要学会问自己员工能把什么做好,而不是想方设法改造他们的短处 。 – 彼得德鲁克 人岗匹配 将合适的人放在合适的位置 人才多样化 团队需要各式各样的人才,才能高效配合…...
Real3DPortrait照片对口型,数字人,音频/视频驱动数字人
先看效果 上传一张图片和一段音频,照片如下: 合成后效果如下: 照片对口型-音频驱动 支持音频驱动和视频驱动,视频可以使照片有参照视频中的口型和和动作。 项目地址 https://github.com/yerfor/Real3DPortrait 我的环境 win…...
Stable Diffusion之Ubuntu下部署
1、安装conda环境 conda create -n webui python3.10.6 2、激活环境 每次使用都要激活 conda activate webui 注意开始位置的变换 关闭环境 conda deactivate webui 3、离线下载SD 代码 https://github.com/AUTOMATIC1111/stable-diffusion-webui https://github.com/Stabilit…...
LeetCode-15-三数之和问题
题目说明 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 给定数组 nums [-1, 0,…...
springboot2集成东方通tongweb嵌入式版
由于最近项目需要国产化信创改造,引入东方通tongweb 联系东方通厂家 ,将依赖导入到maven仓库,并获取嵌入式版license文件修改pom.xml,引入依赖,注意springboot版本,这里以springboot2举例 首先移除springb…...
【二分查找】Leetcode 33. 搜索旋转排序数组【中等】
搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], num…...
Zephyr Windows开发环境搭建
Zephyr 如果有错误或未及时更新,请以官网文档为主 官网:https://docs.zephyrproject.org/latest/develop/getting_started/index.htm 下载安装 Chocolatey 这是一个类似于在Linux系统下 yum 和 apt 那样的包管理器 官网:https://chocolat…...
如何安全地设置MySQL数据库的IP白名单
设置MySQL数据库的IP白名单是一种关键的安全措施,可以确保只有来自特定IP地址的请求被允许访问数据库服务器。这里是如何安全地配置这些设置的分步指南。 步骤1: 登录到MySQL服务器 首先,使用管理员权限登录到你的MySQL服务器。如果你使用的是命令行&a…...
Chatgpt掘金之旅—有爱AI商业实战篇|品牌故事业务|(十六)
演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业在品牌故事业务有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随…...
为什么要部署IP SSL证书?怎么申请?
我们需要知道什么是IP SSL证书。SSL,全称为Secure Sockets Layer,即安全套接层,是为网络通信提供安全及数据完整性的一种安全协议。而IP SSL证书就是基于SSL协议的一种证书,它能够为网站和用户的数据传输提供加密处理,…...
最新免费 ChatGPT、GPTs、AI换脸(Suno-AI音乐生成大模型)
🔥博客主页:只恨天高 ❤️感谢大家点赞👍收藏⭐评论✍️ ChatGPT3.5、GPT4.0、GPTs、AI绘画相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
