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

C++信息学竞赛中常用函数的一般用法

在C++ 信息学竞赛中,有许多常用函数能大幅提升编程效率。下面为你介绍一些常见函数及其一般用法:

一、比较函数

1、max()
//求出a,b的较大值
    int a=10,b=5,c;c=max(a,b);//得出的结果就是c等于10.
    2、min()
    
    //求出a,b的较小值
    int a=10,b=5,c;c=min(a,b);//得出的结果就是c等于5.
    3、swap()
    
    //交换a,b变量的值
      int a=10,b=5;swap(a,b);//得出的结果就是a等于5;b等于10.

      二、数学函数

      1、abs()

      //用于计算整数的绝对值

      int a = -5;int b = abs(a); // b 的值为 5
      2、fabs()

      //用于计算浮点数的绝对值:

      ​​​​​​​

      double x = -3.14;double y = fabs(x); // y 的值为 3.14
      3、pow()

      //用于计算幂次方,不过返回值为 double 类型,使用时要留意精度问题。

      double result = pow(2, 3); // 计算 2 的 3 次方,result 的值为 8.0
      4、sqrt()

      //用于计算平方根:

      ​​​​​​​

      double root = sqrt(16); // root 的值为 4.0
      5、round()
      
      //四舍五入到整数
      double a = 3.5;double r = round(a);  // 返回 4.0(向最近的整数舍入)

      “四舍六入五成双”(银行家舍入法):

      若小数部分 恰好为 0.5,则舍入到 最近的偶数

      ​​​​​​​

      round(2.5);  // 返回 2.0(偶数)
      round(3.5);  // 返回 4.0(偶数)

      其他情况正常四舍五入:

      ​​​​​​​

      round(2.4);  // 返回 2.0
      round(2.6);  // 返回 3.0
      round(-2.5); // 返回 -2.0(偶数)
      6、floor()
      
      //向下取整 floor(1.0/2) = 0等同于 1/2
      floor(3.5);  // 返回 3.0
      floor(-3.5); // 返回 -4.0
      7、ceil()
      
      //向上取整 ceil(1.0/2) = 1
      std::ceil(3.5);   // 返回 4.0
      std::ceil(-3.5); // 返回 -3.0

      三、字符串处理函数

      1、substr()

      //用于截取子字符串:

      string s = "abcdef";string sub1 = s.substr(1, 3); // 从索引 1 开始,截取长度为 3 的子字符串,sub1 的值为 "bcd"
      string sub2 = s.substr(2); // 从索引 2 开始截取到字符串末尾,sub2 的值为 "cdef"
      2、stoi()stod()

      //用于将字符串转换为整数或双精度浮点数:

      ​​​​​​​

      string numStr = "123";int num = stoi(numStr); // num 的值为 123
      string doubleStr = "3.14";double d = stod(doubleStr); // d 的值为 3.14

      四、算法库函数

      1、sort()

      //用于对数组或容器进行排序:

      ​​​​​​​

      int arr[] = {5, 3, 1, 4, 2};int n = sizeof(arr) // sizeof(arr[0]);sort(arr, arr + n); // 对数组进行升序排序
      vector<int> v = {5, 3, 1, 4, 2};sort(v.begin(), v.end()); // 对向量进行升序排序

      五、内存操作函数

      1、memset()

      //用于初始化数组:

      ​​​​​​​

      int arr[10];memset(arr, 0, sizeof(arr)); // 将数组所有元素初始化为 0
      // 注意:如果要初始化为其他值(如 -1),可以使用以下方式memset(arr, -1, sizeof(arr)); // 将数组所有元素初始化为 -1

      相关文章:

      C++信息学竞赛中常用函数的一般用法

      在C 信息学竞赛中&#xff0c;有许多常用函数能大幅提升编程效率。下面为你介绍一些常见函数及其一般用法&#xff1a; 一、比较函数 1、max()//求出a&#xff0c;b的较大值 int a10,b5,c;cmax(a,b);//得出的结果就是c等于10. 2、min()//求出a&#xff0c;b的较小值 int a1…...

      大语言模型解析

      1. Input Embedding embedding&#xff1a;将自然语言翻译成index 每个index对应一个embedding&#xff0c;embedding需要训练&#xff0c;embedding是一个数组...

      全面解析网络端口:概念、分类与安全应用

      在计算机网络的世界里&#xff0c;数据的传输与交互如同一场繁忙的物流运输&#xff0c;而网络端口就是其中不可或缺的 “货运码头”。无论是日常浏览网页、收发邮件&#xff0c;还是运行各类网络服务&#xff0c;都离不开网络端口的参与。本文将深入介绍网络端口的相关知识&am…...

      Python网页自动化测试,DrissonPage库入门说明文档

      &#x1f6f0;️ 基本逻辑​ 操作浏览器的基本逻辑如下&#xff1a; 创建浏览器对象&#xff0c;用于启动或接管浏览器获取一个 Tab 对象使用 Tab 对象访问网址使用 Tab 对象获取标签页内需要的元素对象使用元素对象进行交互 除此以外&#xff0c;还能执行更为复杂的操作&am…...

      C++.OpenGL (9/64)摄像机(Camera)

      颜色(Color) 颜色理论在OpenGL中的应用 #mermaid-svg-dKNDfS4EKDUmG4Ts {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-dKNDfS4EKDUmG4Ts .error-icon{fill:#552222;}#mermaid-svg-dKNDfS4EKDUmG4Ts .error-text…...

      民锋视角下的资金流效率与账户行为建模

      民锋视角下的资金流效率与账户行为建模 在当前复杂多变的金融环境中&#xff0c;资金流效率已成为衡量一家金融服务机构专业能力的重要指标。民锋在账户管理与资金调配的实战经验中&#xff0c;逐步建立起一套以资金流路径为核心的行为建模方法&#xff0c;用以评估客户行为、交…...

      python打卡第48天

      知识点回顾&#xff1a; 随机张量的生成&#xff1a;torch.randn函数卷积和池化的计算公式&#xff08;可以不掌握&#xff0c;会自动计算的&#xff09;pytorch的广播机制&#xff1a;加法和乘法的广播机制 ps&#xff1a;numpy运算也有类似的广播机制&#xff0c;基本一致 **…...

      matlab实现DBR激光器计算

      DBR激光器计算程序。非常值得参考的程序。DBR激光器程序 DBR计算/1.txt , 2056 DBR计算/4.asv , 22 DBR计算/4.txt , 32 DBR计算/GetDeviceEfficiency.asv , 2012 DBR计算/GetDeviceEfficiency.m , 2014 DBR计算/GetOneLayerArray.asv , 837 DBR计算/GetOneLayerArray.m , 836…...

      Java在word中指定位置插入图片。

      Java使用&#xff08;Poi-tl&#xff09; 在word&#xff08;docx&#xff09;中指定位置插入图片 Poi-tl 简介Maven 依赖配置Poi-tl 实现原理与步骤1. 模板标签规范2.完整实现代码3.效果展示 Poi-tl 简介 Poi-tl 是基于 Apache POI 的 Java 开源文档处理库&#xff0c;专注于…...

      uni-app学习笔记三十--request网络请求传参

      request用于发起网络请求。 OBJECT 参数说明 参数名类型必填默认值说明平台差异说明urlString是开发者服务器接口地址dataObject/String/ArrayBuffer否请求的参数App 3.3.7 以下不支持 ArrayBuffer 类型headerObject否设置请求的 header&#xff0c;header 中不能设置 Refere…...

      可视化图解算法48:有效括号序列

      牛客网 面试笔试 TOP101 | LeetCode 20. 有效的括号 1. 题目 描述 给出一个仅包含字符(,),{,},[和],的字符串&#xff0c;判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭&#xff0c;"()"和"()[]{}"都是合法的括号序列&…...

      Continue 开源 AI 编程助手框架深度分析

      Continue 开源 AI 编程助手框架深度分析 一、项目简介 Continue 是一个模块化、可配置、跨平台的开源 AI 编程助手框架&#xff0c;目标是让开发者能在本地或云端环境中&#xff0c;快速集成和使用自定义的 LLM 编程辅助工具。它通过支持 VS Code 与 JetBrains 等主流 IDE 插件…...

      MySQL技术内幕1:内容介绍+MySQL编译使用介绍

      文章目录 1.整体内容介绍2.下载编译流程2.1 安装编译工具和依赖库2.2 下载编译 3.配置MySQL3.1 数据库初始化3.2 编辑配置文件3.3 启动停止MySQL3.4 登录并修改密码 1.整体内容介绍 MySQL技术系列文章将从MySQL下载编译&#xff0c;使用到MySQL各组件使用原理源码分析&#xf…...

      RMQ 算法详解(区间最值问题)

      RMQ 算法详解&#xff08;区间最值问题&#xff09; 问题介绍解决方法暴力法ST表法基本思想算法步骤C实现 问题介绍 RMQ问题是OI中经常遇到的问题&#xff0c;主要是一下形式&#xff1a; 给你一堆数&#xff0c;不断的对里面的数进行操作&#xff0c;例如&#xff1a;让某个…...

      SpringCloud——Nacos

      1、核心功能&#xff1a; 服务注册与发现&#xff1a; 服务实例可动态注入到Nacos中&#xff0c;消费者通过服务名发现可用实例。 // 启用EnableDiscoveryClient注解启用Nacos SpringBootApplication EnableDiscoveryClient public class UserServiceApplication {public st…...

      ubuntu自定义服务自动启动

      自定义服务 在路径 /etc/systemd/system/ 下 定义example.service [Unit] DescriptionMy Custom Script[Service] ExecStart/root/exe_start.sh Typeoneshot RemainAfterExityes[Install] WantedBymulti-user.target在/root/ 路径下执行 vi exe_start.shcd /root/mes_server/…...

      网络安全问题及对策研究

      摘 要 网络安全问题一直是近年来社会乃至全世界十分关注的重要性问题&#xff0c;网络关乎着我们的生活&#xff0c;政治&#xff0c;经济等多个方面&#xff0c;致力解决网络安全问题以及给出行之有效的安全策略是网络安全领域的一大目标。 本论文简述了课题的开发背景&…...

      Ubantu-Docker配置最新镜像源250605

      尝试其他镜像加速器 阿里云镜像加速器&#xff1a;登录阿里云&#xff0c;进入容器镜像服务获取专属加速器地址。毫秒镜像&#xff1a;https://docker.1ms.run。DockerHub镜像加速器&#xff1a;https://docker.xuanyuan.me。Docker Hub 镜像加速服务&#xff1a;https://dock…...

      【计算机网络】NAT、代理服务器、内网穿透、内网打洞、局域网中交换机

      &#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;计算机网络 &#x1f339;往期回顾&#x1f339;&#xff1a;【计算机网络】数据链路层——ARP协议 &#x1f516;流水不争&#xff0c;争的是滔滔不息 一、网络地址转…...

      后端解决跨域问题的三种方案:注解配置 vs 全局配置 vs 过滤器配置(附完整代码详解)

      文章目录 一、引言:跨域问题的本质与解决方案分类解决方案分类二、方案一:`WebMvcConfigurer` 全局配置(推荐)1. 核心代码(你提供的 `CorsConfig` 示例)2. 代码详解3. 优点4. 注意事项三、方案二:`CorsFilter` 过滤器配置(传统方式)1. 核心代码(你提供的 `ResourcesC…...

      在 Vue 的template中使用 Pug 的完整教程

      在 Vue 的template中使用 Pug 的完整教程 引言 什么是 Pug&#xff1f; Pug&#xff08;原名 Jade&#xff09;是一种高效的网页模板引擎&#xff0c;通过缩进式语法和简洁的写法减少 HTML 的冗长代码。Pug 省略了尖括号和闭合标签&#xff0c;使用缩进定义结构&#xff0c;…...

      【立体匹配】:双目立体匹配SGBM:(1)运行

      注&#xff1a;这是一个专题&#xff0c;我会一步步介绍SGBM的实现&#xff0c;按照我的使用和优化过程逐步改善算法&#xff0c;附带实现方法 系列文章【立体匹配】&#xff1a;双目立体匹配SGBM&#xff1a;&#xff08;1&#xff09;运行 【立体匹配】&#xff1a;双目立体匹…...

      < 自用文 OS有关 新的JD云主机> 国内 京东云主机 2C4G 60G 5Mb 498/36月 Ubuntu22

      攒了这么久&#xff0c;废话一些&#xff1a; 前几周很多事儿&#xff0c;打算回北京&#xff0c;开个清真的德克萨斯烤肉店&#xff0c;写了一篇 &#xff1a; &#xff1c; 自用文 Texas style Smoker &#xff1e; 美式德克萨斯烟熏炉 从设计到实现 &#xff08;第一部分&…...

      十、【ESP32开发全栈指南: TCP客户端】

      一、TCP协议核心特性回顾 TCP与UDP关键差异 特性TCPUDP连接方式面向连接 (三次握手)无连接可靠性可靠传输 (重传/排序/校验)尽力交付数据顺序保证数据按序到达不保证顺序流控制滑动窗口机制无流控制传输效率协议开销大头部开销小适用场景文件传输、网页浏览实时音视频、广播通…...

      基于机器学习的智能故障预测系统:构建与优化

      前言 在现代工业生产中&#xff0c;设备故障不仅会导致生产中断&#xff0c;还会带来巨大的经济损失。传统的故障检测方法依赖于人工巡检和定期维护&#xff0c;这种方式效率低下且难以提前预测潜在故障。随着工业物联网&#xff08;IIoT&#xff09;和机器学习技术的发展&…...

      设计模式-观察着模式

      观察者模式 观察者模式 (Observer Pattern) 是一种行为型设计模式&#xff0c;它定义了对象之间一种一对多的依赖关系&#xff0c;当一个对象&#xff08;称为主题或可观察者&#xff09;的状态发生改变时&#xff0c;所有依赖于它的对象&#xff08;称为观察者&#xff09;都…...

      《架构即未来》笔记

      思维导图 第一部分&#xff1a;可扩展性组织的人员配置 第二部分&#xff1a;构建可扩展的过程 第三部分&#xff1a;可扩展的架构方案 第四部分&#xff1a;其他的问题和挑战 资料 问软件工程研究所&#xff1a; https://www.sei.cmu.edu/ AKF公司博客: http://www.akfpart…...

      stm32—ADC和DAC

      ADC和DAC 在嵌入式系统中&#xff0c;微控制器经常需要与现实世界的模拟信号进行交互。STM32微控制器内置了模拟数字转换器&#xff08;ADC&#xff09;和数字模拟转换器&#xff08;DAC&#xff09;&#xff0c;它们是实现这种交互的关键模块。 1. 模拟数字转换器&#xff08…...

      ubuntu2404 gpu 没接显示器,如何保证远程显示的分辨率

      1. 使用 xserver-xorg-video-dummy 创建虚拟显示器 如果系统在无物理显示器连接时无法识别显示输出&#xff0c;可以使用 xserver-xorg-video-dummy 驱动程序创建虚拟显示器。以下是设置步骤&#xff1a; 安装虚拟显示器驱动程序&#xff1a; sudo apt install xserver-xorg-v…...

      【基于阿里云搭建数据仓库(离线)】使用UDTF时出现报错“FlatEventUDTF cannot be resolved”

      目录 问题&#xff1a; 可能的原因有&#xff1a; 解决方法&#xff1a; 问题&#xff1a; 已经将包含第三方依赖的jar包上传到dataworks&#xff0c;并且成功注册函数&#xff0c;但是还是报错&#xff1a;“FlatEventUDTF cannot be resolved”&#xff0c;如下&#xff1a…...