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

第一次参加CSDN周赛,这体验很难说···

花无缺

👨‍💻个人主页:@花无缺
欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 花无缺 原创

本文章收录于专栏 【CSDN周赛】


本篇文章目录

  • 🌏前言
  • 🌏一、勾股数
    • 🌸题目描述
    • 🌸题解
  • 🌏二、最近的回文数
    • 🌸题目描述
    • 🌸题解


🌏前言

最近参加了 CSDN 官方举办的算法竞赛,恰好最近在学数据结构和算法,于是就顺带参加了第 45 期竞赛,比赛时间是两个小时,这次只有两个算法题,然后几个选择题,一个判断题。
算法题的难度我觉得一般吧,我都做出来了,但是第二个题目有 bug,一直不能通过,应该是测试用例的数据范围有问题。比赛过程中就只能通过 10% 的测试用例,但是后面自己在本地 IDE 里是可以通过题目要求的,希望以后官方大大审题能够更加仔细吧。
下面给大家讲讲这两个题。

🌏一、勾股数

🌸题目描述

勾股数是一组三个正整数,它们可以作为直角三角形的三条边。 比如3 4 5就是一组勾股数。 如果给出一组勾股数其中的两个,你能找出余下的一个吗?

输入输出:输入两个正整数,输出一个正整数表示满足勾股数的另一个数字,如果没有满足条件的第三个数,则输出 -1。

🌸题解

解题思路:这个题要求我们判断是否有对应的第三个数与已知的两个数构成勾股数,而勾股数必须要满足条件式:a*a + b*b = c*c;即两个较小的数的平方之和等于最大数的平方和,在三角形中,也即两直角边的平方之和等于斜边的平方。但是这里我们并不确定输入的两个数是直角边还是斜边,那么我们可以进行枚举,将这两个已知的数字分别作为斜边和两个直角边,这样就可以得出是否有第三个数与之构成勾股数了。
题解如下:

// CSDN周赛 45期 NO.1
// 花无缺题解 
#include <iostream>
#include <math.h>
using namespace std;
int main() {long a,b;cin >> a >> b;long n = 0;long c; // c 为第三个数 // a 和 b 作为两个直角边, c 为斜边 // 开平方根函数返回的是一个浮点数, 向下取整c = sqrt(a*a + b*b);if (c*c==a*a+b*b) {cout << c;n++;}// a 为 斜边, b 和 c 为直角边 c = sqrt(a*a - b*b);if (a*a-b*b==c*c) {cout << c;n++;}// b 为斜边, a 和 c 为直角边 c = sqrt(b*b - a*a);if (b*b-a*a==c*c) {cout << c;n++;}// 如果 n 为 0, 那么说明没有满足成为勾股数的第 3 个数, 输出 -1 if (n==0)cout << -1;return 0;
}

🌏二、最近的回文数

🌸题目描述

回文数是一个非负整数,它的各位数字从高位到低位和从低位到高位的排列是相同的。 以下是一些回文数的例子: 0 133 525 7997 37273 现在给到一个数,求离它最近的一个回文数(离与它的差的绝对值最小)。如果这个数本身就是回文数,那么就输出它本身。

输入输出:输入一个正整数,输出与它最近的回文数。

🌸题解

解题思路:这个题顾名思义就是求回文数,使用一个 for 循环就可以求出最接近的回文数了,但是这里就出现 bug 了,比如数字 176,它的前面有一个回文数 171,后面有一个回文数 181,它们和176的差值的绝对值都是 5,那么我们应该输出 171 还是 181 呢,题目也没有给出说明,所以这个题问题有点大啊。
以下代码给大家参考下:
欢迎大家提出自己的想法

// CSDN周赛 45期 NO.2
// 花无缺题解
#include <iostream>
using namespace std;// 判断是否为回文数 
bool palindrome(int n) {long x=0;long a=n;while (n) {x = n%10 + x*10;n /= 10;}if (x == a)return true;return false;
}int main() {long n;cin >> n;for (long i=n;; i++) {if (palindrome(i)) {cout << i;return 0;}}return 0;
}

🌸欢迎关注我的博客:@花无缺
持续为你输出有价值的内容~
🥇往期精彩好文:
📢【蓝桥杯省赛感想】
📢【CSS列表详解】
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!

相关文章:

第一次参加CSDN周赛,这体验很难说···

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 本文章收录于专栏 【CSDN周赛】 本篇文章目录 &#x1f30f;前言&#x1f30f;一、勾股数&#x1f338;题目描述&#x1f338;题解 &a…...

8.DRF组件之认证、权限

DRF(Django Rest Framework)提供了一套权限和身份认证系统,可以在视图中进行配置。权限系统用于控制用户对资源的访问权限,身份认证系统用于验证用户的身份信息。 DRF支持以下几种权限控制方式: AllowAny:不做任何验证,允许所有用户访问。 IsAuthenticated:只允许已经…...

初识Tkinter弹窗

Tkinter弹窗 Tkinter是什么 Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面&#xff0c;是一个图像的窗口&#xff0c;tkinter是python 自带的&#xff0c;可以编辑的GUI界面&#xff…...

设计模式之责任链模式(C++)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、责任链模式是什么&#xff1f; 责任链模式是一种行为型的软件设计模式&#xff0c;对象内存在对下家的引用&#xff0c;层层连…...

音游判定原理详解——从触摸屏幕到判定音符【Project SEKAI攻略】

“音乐游戏”一般简称为“音游”&#xff0c;玩家需要配合音乐的节奏来进行一定的动作。 《Project SEKAI》作为一个“移动端音游”&#xff0c;绝大多数玩家会使用手机、平板电脑等移动设备的触摸屏进行游玩&#xff0c;也有极少数的玩家不按常理出牌&#xff0c;使用手台、键…...

【论文阅读】Self-Paced Boost Learning for Classification

论文下载 bib: INPROCEEDINGS{PiLi2016SPBL,title {Self-Paced Boost Learning for Classification},author {Te Pi and Xi Li and Zhongfei Zhang and Deyu Meng and Fei Wu and Jun Xiao and Yueting Zhuang},booktitle {IJCAI},year {2016},pages {1932--1938} …...

通过CSIG—走进合合信息探讨生成式AI及文档图像处理的前景和价值

一、前言 最近有幸参加了由中国图象图形学学会&#xff08;CSIG&#xff09;主办&#xff0c;合合信息、CSIG文档图像分析与识别专业委员会联合承办的“CSIG企业行——走进合合信息”的分享会&#xff0c;这次活动以“图文智能处理与多场景应用技术展望”为主题&#xff0c;聚…...

流程图拖拽视觉编程--概述

一般的机器视觉平台采用纯代码的编程方式&#xff0c;如opencv、halcon&#xff0c;使用门槛高、难度大、定制性强、开发周期长&#xff0c;因此迫切需要一个低代码开发的视觉应用平台。AOI缺陷检测的对象往往缺陷种类多&#xff0c;将常用的图像处理算子封装成图形节点,如抓直…...

深度学习中的卷积神经网络

博主简介 博主是一名大二学生&#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;c&#xff0c;Python&#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主&#xff0c;博主会继续更新的&#xff0c…...

vue3的介绍和两种创建方式(cli和vite)

目录 一、vue3的介绍 &#xff08;一&#xff09;vue3的简介 &#xff08;二&#xff09;vue3对比vue2带来的性能提升 二、vue3的两种创建方式 方式一&#xff1a;使用vue-cli创建&#xff08;推荐--全面&#xff09; 操作步骤 方式二&#xff1a;使用vite创建 操作步…...

camunda工作流user task如何使用

在Camunda中使用User Task通常需要以下步骤&#xff1a; 1、创建User Task&#xff1a;使用BPMN 2.0图形化设计器&#xff08;如Camunda Modeler&#xff09;&#xff0c;将User Task元素拖到流程图中&#xff0c;并为任务命名&#xff0c;指定参与者&#xff08;用户或用户组…...

三元运算符

三元运算符 三元运算符通常在Python⾥被称为条件表达式 这些表达式基于真(true)/假(not)的条件判 断 在Python 2.4以上才有了三元操作。 下⾯是⼀个伪代码和例⼦&#xff1a; 伪代码: 如果条件为真&#xff0c;返回真 否则返回假 condition_is_true if condition else c…...

Vue3 Element-plus el-menu无限级菜单组件封装

对于element中提供给我们的el-menu组件最多可以实现三层嵌套&#xff0c;如果多一层数据只能自己通过变量去加一层&#xff0c;如果加了两层、三层这种往往是行不通的&#xff0c;所以只能进行封装 效果图 一、定义数据 MenuData.ts export default [{id: "1",name…...

( “树” 之 BST) 669. 修剪二叉搜索树 ——【Leetcode每日一题】

二叉查找树&#xff08;BST&#xff09;&#xff1a;根节点大于等于左子树所有节点&#xff0c;小于等于右子树所有节点。 二叉查找树中序遍历有序。 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&…...

【C语言】浅涉结构体(声明、定义、类型、定义及初始化、成员访问及传参)

简单不先于复杂&#xff0c;而是在复杂之后。 目录 1. 结构体的声明 1.1 结构体的基础知识 1.2 结构的声明 1.3 结构成员的类型 1.4 结构体变量的定义和初始化 2. 结构体成员的访问 3. 结构体传参 1. 结构体的声明 1.1 结构体的基础知识 结构是一些值的集合&…...

设计模式-结构型模式之装饰模式

3. 装饰模式 3.1. 模式动机 一般有两种方式可以实现给一个类或对象增加行为&#xff1a; 继承机制 使用继承机制是给现有类添加功能的一种有效途径&#xff0c;通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的&#xff0c;用户不能…...

【Chatgpt4 教学】 NLP(自然语言处理)第九课 朴素贝叶斯分类器的工作原理 机器学习算法

我在起&#xff0c;点更新NLP自然语言处理》《王老师带我成为救世主》 为啥为它单独开章&#xff0c;因为它值得&#xff0c;它成功的让我断了一更&#xff0c;让我实践了自上而下找能够理解的知识点&#xff0c;然后自下而上的学习给自己的知识升级&#xff0c;将自己提升到能…...

基于html+css的图片展示17

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…...

Jupyter Notebook小知识

目录 1 快捷键1.1 常用快捷键1.2 魔法函数 2 常用快捷键2.1 模式切换2.2 命令模式快捷键2.3 编辑模式快捷键3 Matplotlib绘图 4 小技巧4.1 文件默认目录的查看以及更改4.2 更改主题颜色 5 其它5.1 python中 r, b, u, f 的含义5.2 f/format():格式化操作 6 常见问题6.1 查看模块…...

redis原理及进化之路

Redis 的主从复制经历了多次演进&#xff0c;本文将从最基本的原理和实现讲起&#xff0c;并层层递进&#xff0c;逐步呈现 Redis 主从复制的演进历史。大家将了解到 Redis 主从复制的原理&#xff0c;以及各个改进版本解决了什么问题&#xff0c;并最终看清 Redis 7.0 主从复制…...

动态链接库emp.dll详解:从原理到实战修复

动态链接库emp.dll深度解析&#xff1a;技术原理与高效修复指南 引言&#xff1a;动态链接库的现代价值 在Windows系统的软件生态中&#xff0c;动态链接库(DLL)如同建筑中的预制构件&#xff0c;通过代码复用机制显著提升了开发效率和系统资源利用率。emp.dll作为其中一员&…...

Mysql 主从复制详解

MySQL 主从复制详解 MySQL 主从复制是数据库高可用架构的基石,也是系统分析师考试中数据库部分的高频考点。下面从核心原理、复制类型、架构模式、配置实战到运维监控进行全面解析。 📌 一、主从复制核心概念 定义与目的 主从复制是指将主数据库(Master)的数据变化实时…...

自动化测试框架选型:Selenium vs Cypress深度对比

在快速迭代的软件开发周期中&#xff0c;自动化测试框架的选型直接影响产品质量与交付效率。Selenium与Cypress作为当前主流工具&#xff0c;分别代表了传统与现代化的技术路线。本文将从架构设计、核心特性、适用场景及未来趋势等维度&#xff0c;为测试从业者提供深度对比分析…...

如何高效提取与编辑Unity游戏资源?UABEA全功能解析与实践指南

如何高效提取与编辑Unity游戏资源&#xff1f;UABEA全功能解析与实践指南 【免费下载链接】UABEA UABEA: 这是一个用于新版本Unity的C# Asset Bundle Extractor&#xff08;资源包提取器&#xff09;&#xff0c;用于提取游戏中的资源。 项目地址: https://gitcode.com/gh_mi…...

Comsol 多裂纹水力压裂扩展:拉伸与压缩下的破坏探索

comsol多裂纹水力压裂扩展&#xff0c;可以实现拉伸和压缩下的破坏。在工程领域&#xff0c;水力压裂是一项至关重要的技术&#xff0c;尤其在石油和天然气开采等方面应用广泛。而 Comsol 作为强大的多物理场仿真软件&#xff0c;为我们研究多裂纹水力压裂扩展提供了有力工具&a…...

别再只盯着find提权了!盘点Linux下5种更隐蔽的权限维持姿势与排查手册

超越find提权&#xff1a;Linux系统下5种高阶权限维持技术与深度排查指南 当攻击者成功获取Linux系统权限后&#xff0c;权限维持&#xff08;Persistence&#xff09;往往成为攻防对抗的核心战场。传统安全培训常聚焦于SUID提权等基础手段&#xff0c;但真实APT攻击中&#xf…...

Vite - vite.config.js 的一些配置(base、resolve、server)

一、base 1、基本介绍 base 用于设置开发或生产环境服务的公共基础路径 类型&#xff1a;string默认值&#xff1a;/2、演示 部署在根路径 base: /// 例如&#xff0c;https://example.com/<!-- 此时生成的 HTML 中的资源引用会变为如下 --><script src"/assets/…...

LabelImg图像标注工具:3分钟掌握高效目标检测数据标注技巧

LabelImg图像标注工具&#xff1a;3分钟掌握高效目标检测数据标注技巧 【免费下载链接】labelImg LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check ou…...

本地部署开源直播视频平台 Owncast 并实现外部访问

Owncast 是一款开源的、自托管的直播和视频平台&#xff0c;它允许用户完全掌控自己的直播基础设施、数据和观众互动&#xff0c;避免依赖 Twitch 、YouTube 等大型中心化平台&#xff0c;为内容创作者提供一个独立、去中心化的直播解决方案。本文将详细介绍如何利用 Docker 在…...

RMBG-2.0隐私安全优势解析:纯本地推理杜绝图片上传与数据泄露风险

RMBG-2.0隐私安全优势解析&#xff1a;纯本地推理杜绝图片上传与数据泄露风险 在数字时代&#xff0c;图片处理已经成为日常工作和创作的重要组成部分&#xff0c;但随之而来的隐私安全问题也日益凸显。许多在线抠图工具需要用户上传图片到云端服务器进行处理&#xff0c;这不…...