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

【洛谷题单】--分支结构(三)

🔥个人主页:@草莓熊Lotso

🎬作者简介:C++研发方向学习者

📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》

⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 

前言:在上篇博客中,我们学习了分支结构题单中的中半部分题,在这篇博客中博主将会继续分享分支结构题单。还是提醒一下,大家最好是有一定的C++的基础再看,这样效果比较好。那么废话不多说,我们来看看这次选择的题目吧。 


目录

1.小鱼的航程(改进版)

2.三角函数

3.陶陶摘苹果

4.ABC

5.ISBN 号码


1.小鱼的航程(改进版)

题目链接:P1424 小鱼的航程(改进版) - 洛谷

题目描述:

输入输出样例:

代码演示:

#include<bits/stdc++.h>
using namespace std;
int x;
unsigned long long n, ans;
int main() {cin >> x >> n;for (int i = 0; i < n; i++) {if ((x != 6) && (x != 7)) ans += 250;if (x == 7) x = 1;else x++;}cout << ans;return 0;
}

题目解析:

  • 通过循环模拟 n 天的过程,每天先判断当前是否为周一至周五五(非 6、7),若是则累加 250 公里,然后更新日期(周日之后变为周一,其他情况日期加 1),最终输出 n 天累计游泳的总公里数。

2.三角函数

题目链接:P1888 三角函数 - 洛谷

题目描述:

输入输出样例:

代码演示:

#include<bits/stdc++.h>
using namespace std;
const int N=1e9+5;
int a[N];int main()
{for(int i=0;i<3;i++){cin>>a[i];}sort(a,a+3);
cout<<a[0]/__gcd(a[0],a[2])<<'/'<<a[2]/__gcd(a[0],a[2]);return 0;
}

题目解析:

  • 先输入三个勾股数存入数组,排序后找出最短边(a[0])和斜边(a[2]),利用__gcd函数对最短边与斜边求最大公约数,将两者分别除以该公约数,以分数形式输出较小锐角的正弦值(即最短边 / 斜边约分后的结果 )。

3.陶陶摘苹果

题目链接:P1046 [NOIP 2005 普及组] 陶陶摘苹果 - 洛谷

题目描述:

输入输出样例:

代码演示:

#include<bits/stdc++.h>
using namespace std;
const int N=15;
int a[N];int main()
{for(int i=1;i<=10;i++){cin>>a[i];}int h;cin>>h;int count=0;h=h+30;for(int i=1;i<=10;i++){if(h>=a[i]) count++;}cout<<count;return 0;
}

题目解析:

  • 先输入 10 个苹果的高度和陶陶伸手最大高度(加 30 厘米板凳高度),遍历苹果高度,统计陶陶能够够到的苹果数量并输出

4.ABC

题目链接:P4414 [COCI 2006/2007 #2] ABC - 洛谷

题目描述:

输入输出样例:

代码演示:

#include <bits/stdc++.h>
using namespace std;
int p[3];
int main()
{int a,b,c;cin>>a>>b>>c;char i,j,k;cin>>i>>j>>k;//输入p[0]=min(a,min(b,c));p[2]=max(a,max(b,c));//处理最大和最小的数int x=max(a,b),y=max(a,c),z=max(b,c);if(x==y) p[1]=z;if(x==z) p[1]=y;if(y==z) p[1]=x;//核心部分,处理中间的数cout<<p[i-65]<<" "<<p[j-65]<<" "<<p[k-65]<<endl;//输出return 0;
}

题目解析:

  • 先读入三个整数 abc 和三个字母 ijk,通过 min 和 max 函数确定最小、最大数存入 p[0]p[2],再用嵌套 max 找中间可能值,通过条件判断确定中间数存入 p[1],最后按 ijk 对应的顺序(利用 ASCII 转换)输出 p 数组元素

5.ISBN 号码

题目链接:P1055 [NOIP 2008 普及组] ISBN 号码 - 洛谷

题目描述:

输入输出样例:

代码演示:

#include<bits/stdc++.h>
using namespace std;
const int N=15;
char s[N];int main(){scanf("%s",s);int a[]={0,s[0]-'0',s[2]-'0',s[3]-'0',s[4]-'0',s[6]-'0',s[7]-'0',s[8]-'0',s[9]-'0',s[10]-'0'};int sum=0;for(int i=1;i<=9;++i)sum=(sum+(a[i])*i)%11;char ch;if(sum==10)ch='X';else ch=sum+'0';if(ch==s[12])printf("Right\n");else printf("%d-%d%d%d-%d%d%d%d%d-%c\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],ch);return 0;
}

题目解析:

  • 通过 scanf 读取 ISBN 字符串,提取前 9 位数字转成数组 a ,按规则(首位乘 1 、次位乘 2 …… 第 9 位乘 9 求和取模 11 )计算识别码,与输入的识别码对比

往期回顾:

【洛谷题单】--顺序结构(一)

【洛谷题单】--顺序结构(二)

【洛谷题单】--分支结构(一)

【洛谷题单】--分支结构(二)

结语:本篇文章就到此结束了,分支结构题单中的题目都不会很难,刚从C转到C++的朋友们也可以很快上手。这里依旧是提醒一下,大家如果是想打竞赛的话,洛谷这个软件我还是比较推荐的但是针对面试和其它类型题目会更推荐LeetCode和牛客网一些。如果文章对你有帮助的话,欢迎点赞收藏加关注,感谢大家的支持。

http://www.xdnf.cn/news/17291.html

相关文章:

  • DigitalProductId解密算法php调试版piddebug.php
  • 七、《Serverless架构:按毫秒计费的成本革命》--从新浪AI推理平台50%效能提升看无服务器本质
  • vscode/trae 的 settings.json 中配置 latex 的一些记录
  • Android--监听软键盘弹出隐藏事件
  • CamX-骁龙相机修改
  • BPMN编辑器技术实现总结AI时代的工作流编辑器
  • 香港服务器容器网络插件的多节点通信性能基准测试
  • 从灵感枯竭到批量产出:无忧秘书创作平台如何重构内容生产者的工作流程?全环节赋能分析
  • 分布式锁详解及 Spring Boot 实战示例
  • K-means聚类学习:原理、实践与API解析
  • 电子电气架构 --- 48伏电气系统架构
  • Docker Desktop 使用操作指南
  • 微服务的好与坏
  • DAY 39 图像数据与显存
  • 移动端开发中类似腾讯Bugly的产品推荐与比较-5款APP异常最终产品推荐-卓伊凡|bigniu
  • 线程池分析与设计
  • 全面了解selenium
  • [linux] Linux:一条指令更新DDNS
  • Docker容器部署discuz论坛与线上商城
  • Uber的MySQL实践(一)——学习笔记
  • python学智能算法(三十五)|SVM-软边界拉格朗日方程乘子非负性理解
  • token过期为了保证安全,refresh token不过期,那么拿到refresh token就可以获取token,不还是不安全吗
  • Java基础-模拟多线程安全问题场景
  • 开发板RK3568和stm32的异同:
  • 深入理解 SwiftUI 布局:VStack、HStack 和表单控件全解析
  • 关于数据结构6-哈希表和5种排序算法
  • 【Spring Boot 快速入门】八、登录认证(一)基础登录与认证校验
  • 数据结构:哈希表、排序和查找
  • F I R S T Q U A R T E R 2 0 2 5 - - M a y 2 2 2 0 2 5
  • LINUX88 变量:命令定义;普通数组定义(复);declare -i /-x