P10425 [蓝桥杯 2024 省 B] R 格式
题目描述:
小蓝最近在研究一种浮点数的表示方法:R 格式。对于一个大于 00 的浮点数 d,可以用 R 格式的整数来表示。给定一个转换参数 n,将浮点数转换为 R 格式整数的做法是:
- 将浮点数乘以 2^n。
- 四舍五入到最接近的整数。
输入格式
一行一个整数 n 和一个浮点数 d。
输出格式
一行一个整数表示 d 用 R 格式表示出的值。
输入输出样例
输入 #1
2 3.14
输出 #1
13
说明/提示
样例 1 解释
3.14×2^2=12.56 ,四舍五入后为 13。
数据规模与约定
用 t 表示将 d 视为字符串时的长度。
- 对于 50% 的数据,保证 n≤10,t≤15。
- 对于全部的测试数据,保证1≤n≤1000,1≤t≤1024,保证 d 是小数,即包含小数点。
解题思路:
首先观察题目,题目中的数据大小1024位明显大于整形变量值,应当用string来存储。所以我们可以想到用高精度计算来解决这道题。
将浮点数d存储到字符串中去掉小数点后倒置(方便计算),接着进行相乘,对每位进行相乘,用数组存储。若数组数大于10就模10进位,之后需要检查一下计算后是否有位数的改变。
之后进行四舍五入的判断,判断之后需要检查进位以及位数是否发生变化,最后再导致输出结果。
样例代码:
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
int n, arr[1000000], p, l;//数组开大一点
string q;
void cheng()
{for (int i = 1; i <= l; i++)//每一位乘arr[i] *= 2;for (int i = 1; i <= l; i++)//进位{arr[i + 1] += arr[i] / 10;arr[i] %= 10;}if (arr[l + 1])//相乘可能会导致位数增加所以要检查大小l++;
}
int main()
{cin >> n >> q;reverse(q.begin(), q.end());p = q.find(".");q.erase(p, 1);//去掉小数点将小数点的位置设置为pl = q.size();for (int i = 0; i < l; i++)//字符串转换arr[i + 1] = q[i] - '0';for (int i = 1; i <= n; i++)cheng();if (arr[p] >= 5)//四舍五入arr[p + 1]++;for (int i = p + 1; i <= l; i++)//检查四舍五入后的进位{arr[i + 1] += arr[i] / 10;arr[i] %= 10;}if (arr[l + 1])//检查位数变化l++;for (int i = l; i > p; i--)cout << arr[i];return 0;
}
相关文章:
P10425 [蓝桥杯 2024 省 B] R 格式
题目描述: 小蓝最近在研究一种浮点数的表示方法:R 格式。对于一个大于 00 的浮点数 d,可以用 R 格式的整数来表示。给定一个转换参数 n,将浮点数转换为 R 格式整数的做法是: 将浮点数乘以 2^n。四舍五入到最接近的整…...
《软件工程文档攻略:解锁软件开发的“秘籍”》
《软件工程文档攻略:解锁软件开发的“秘籍”》 一、引言(一)简述软件工程文档的重要地位 二、软件文档的分类及作用(一)按形式分类1. 工作表格2. 文档或文件 (二)按产生和使用范围分类1. 开发文…...
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...
sqlilabs靶场二十一关二十五关攻略
第二十一关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第二十二关 跟二十一关一模一样 闭合换成" 第二十三关 第二十三关重新回到get请求,会发现输入单引号报错,…...
时间管理系统|Java|SSM|JSP|
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…...
长轮询DeferredResult原理
DeferredResult常用来实现客户端长轮询,可以将异步处理的结果在特定时间内(如果设置了超时时间)返回给客户端。 Slf4j RestController RequestMapping("/demo") public class DemoDeferredResult {GetMapping("/deferredResu…...
TouchGFX移植(5)增加触屏驱动
一)增加驱动代码gt9xxx.c和ctiic.c到工程中的BSP目录下: 二)更改触摸文件STM32TouchController.cpp 1)在STM32TouchController.cpp文件中增加: #include “gt9xxx.h” 2)增加gt9xxx_init(); void STM32TouchControlle…...
(九)腾讯cloudstudio(ubuntu)+akiaaa大神 Stable Diffusion整合包 AI绘画教程
一、说明 在网上转了一圈,发现确实akiaaa大神的整合包不错,看看这界面就比我前面的流弊多了,后面我们就要把这个界面一步一步干出来 二、环境准备 这里和前面的一样 (七)腾讯cloudstudioStable-Diffusion-webui AI绘…...
设计模式-访问者设计模式
介绍 访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变个元素的类的前提下定义作用于这些元素的新操作。 问题:在一个机构里面有两种员工,1.Teacher 2.Engineer 员…...
深度学习实战车辆目标跟踪【bytetrack/deepsort】
本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对车辆目标数据集进行训练和优化,该数据集包含丰富的车辆目标图像样本…...
lammps中EDGE、INF、NULL等常量的含义
在lammps命令中,有几个比较常见的量:EDGE、INF、NULL,不少初学者不知道什么意思,本文详细介绍一下这几个量的含义及用法。 1. EDGE EDGE表示当前box的边界,常用到需要设置坐标的命令中,如region、fix wall/reflect。 EDGE仅表示当前box边界的坐标值,当box尺寸发生变化后…...
Mono里建立调试C#脚本运行环境
前面已经介绍了怎么样来执行一个嵌入式的脚本框架, 这个框架是mono编写的一个简单的例子。 如果不清楚,可以参考前文: https://blog.csdn.net/caimouse/article/details/144632391?spm=1001.2014.3001.5501 本文主要来介绍一下,我们的C#脚本是长得怎么样的,它大体如下…...
241221面经
1,JVM 的实现中堆、栈和方法区的区别是什么? 堆(Heap) 功能 堆是 JVM 内存中最大的一块,主要用于存储对象实例。无论是通过new关键字创建的对象,还是数组,都在堆上分配内存。它是被所有线程共享…...
【论文复刻】新型基础设施建设是否促进了绿色技术创新的“量质齐升”—来自国家智慧城市试点的证据(C刊《中国人口·资源与环境》
一、数据来源:住建部、国家知识产权局、中国城市统计年鉴,内含原始数据、处理代码和基准回归 二、数据范围: DID 为了延长政策效应估计的时间区间,将住建部公布的首批国家智慧城市作为处理组,非试点城市作为对照组。将…...
libreoffice表格python宏教程 一
一、安装python宏扩展 LibreOffice自带了一个宏编辑器,但是只能用basic语言,无法用Python。 所以,我们必须在单独的编辑器中编写Python代码。 需要安装apso扩展,此扩展可以创建删除管理python宏文件,同时还能设置偏好…...
C/C++语言基础--C++STL库之仿函数、函数对象、bind、function简介
本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 STL无疑是C史上一个重要的发明,未来我将更新STL有关的知识点,入门绝对够了(看目录就知道了👀)这是第二篇,讲仿函数C语言后面也会继续更新知识点,如…...
前端导出PDF的组件及方法
前端导出PDF的组件及方法 在Web应用程序中,导出PDF文件是一项常见的需求。无论是为了打印、分享还是存档,能够将网页内容转换为PDF格式都非常有用。幸运的是,前端开发者有多种方法和组件可以实现这一功能。在本文中,我们将详细介…...
大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入
点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop࿰…...
水文知识图谱构建-学习+代码
文章目录 水文模型知识图谱构建与应用(核心)面向水利防汛抢险的知识图谱构建与应用知识图谱在水利工程中的构建与应用代码 水文模型知识图谱构建与应用(核心) 水文模型知识图谱构建与应用 题目:水文模型知识图谱构建…...
python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
windows首先安装rabbitmq 点击参考安装 1、环境介绍 Python 3.10.16 其他通过pip安装的版本(Django、pika、celery这几个必须要有最好版本一致) amqp 5.3.1 asgiref 3.8.1 async-timeout 5.0.1 billiard 4.2.1 celery 5.4.0 …...
clickhouse优化记录
一、注重使用分区键来加快查询 在大数据量的情况下,如果查询语句中,可以使用分区键来进行查询,可以极大缩小数据的查询范围,加快查询速度。 二、使用order by的列,适用最左前缀匹配原则 比如表的结构是 order by(id…...
RabbitMQ如何构建集群?
大家好,我是锋哥。今天分享关于【RabbitMQ如何构建集群?】面试题。希望对大家有帮助; RabbitMQ如何构建集群? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在RabbitMQ中,集群(Cluster&#x…...
Python解压tar压缩文件
import tarfile import os# 解压文件def untar(self, log_tar_file, destination_dir):# 打开tar文件tar_file_path for tar_file_path in glob.glob(os.path.join(log_tar_file, **/*.tar), recursiveTrue):print(日志压缩文件:,tar_file_path)if ! tar_file_pat…...
Mac升级macOS 15 Sequoia后,无法ssh连接本地虚拟机
现象 macOS 15后,无法ssh连接本地启动的虚拟机,提示错误: No route to host,也ping不通。包括UTM、Parallels Desktop这两个虚拟机软件。之前都是没问题的,通过一些简单排查,目前没发现什么问题。 在虚拟…...
Unity录屏插件-使用Recorder录制视频
目录 1.Recorder的下载 2.Recorder面板 2.1常规录制属性 2.2录制器配置 2.2.1添加录制器 2.2.2配置Input属性 2.2.3配置 Output Format 属性 2.2.4配置 Output File 属性 3.Recorder的使用 3.1录制Game View视频 3.1.1Recorder配置与场景搭建 3.1.2开始录制 3.1.3…...
[ESP]从零开始的Arduino IDE安装与ESP环境配置教程
一、前言 最近也是在比赛方面比较忙,没有更多的时间和精力去更新长文章了。这几周都更倾向于环境搭建的教程,这类教程写起来确实方便,也不怎么费时间,一个下午基本可以搞定,哈哈,我保证不是在为自己想摆烂找…...
重拾设计模式--状态模式
文章目录 状态模式(State Pattern)概述状态模式UML图作用:状态模式的结构环境(Context)类:抽象状态(State)类:具体状态(Concrete State)类&#x…...
2024年全球办公键盘行业总体规模、主要企业国内外市场占有率及排名
根据QYResearch研究团队调研统计,2023年全球办公键盘市场销售额达到了 亿元,预计2030年将达到 亿元,年复合增长率(CAGR)为 %(2024-2030)。中国市场在过去几年变化较快,2023年市场规模…...
ThreadLocal用法详解
ThreadLocal 是 Java 中的一个类,它提供了线程局部变量的功能。线程局部变量是线程隔离的,每个使用该变量的线程都有其自己的变量副本,因此每个线程可以操作自己的线程局部变量,而不会和其他线程冲突。 以下是 ThreadLocal 的一些…...
linux中docker命令大全
基本命令 docker pull 拉取镜像 docker pull docker push 推送镜像到DockerRegistry docker push docker images 查看本地镜像 docker images docker rmi 删除本地镜像 docker rmi docker run 创建并运行容器(不能重复创建) docker run d…...
linux-----常用指令
文件和目录操作指令 ls(list)指令 功能:用于列出目录的内容,包括文件和子目录。示例: ls:列出当前目录下的所有非隐藏文件和目录。例如,在一个包含文件file1.txt、file2.txt和目录dir1的目录中&…...
1.gitlab 服务器搭建流程
前提条件: 一、服务器硬件水平 搭建gitlab服务器最低配置要求2核4G,低于这个配置的服务器运行效果很差。 gitlab官网:https://about.gitlab.com/ 下载地址:gitlab/gitlab-ce - Packages packages.gitlab.com 本机ubuntu 二、安装依赖 su…...
C 语言基础运算:输入两个整数并计算和、差、积
一、C 语言编程世界初窥 在当今数字化浪潮汹涌澎湃的时代,编程已成为一项极具影响力的技能,它犹如一把神奇的钥匙,能够开启无数创新与可能的大门。而在众多编程语言中,C 语言无疑是一颗最为璀璨耀眼的恒星,长久以来在编程的浩瀚星空中熠熠生辉,散发着独特而迷人的魅力。…...
PC寄存器(Program Counter Register) jvm
在JVM(Java虚拟机)中,PC寄存器(Program Counter Register)扮演着至关重要的角色,它是JVM执行引擎的核心组成部分之一。以下是PC寄存器在JVM中的具体角色和职责: 指令执行指针: PC寄存…...
CPU概述随堂测试
1. [单选题] 下列部件不属于控制器的是( )。 A. 指令寄存器 B. 程序计数器 C. 程序状态字寄存器 D. 时序电路 正确答案:C 控制器的主要组成部分包括指令寄存器(IR)、程序计数器(PC),以及用于控制…...
centos7下docker 容器实现redis主从同步
1.下载redis 镜像 docker pull bitnami/redis2. 文件夹授权 此文件夹是 你自己映射到宿主机上的挂载目录 chmod 777 /app/rd13.创建docker网络 docker network create mynet4.运行docker 镜像 安装redis的master -e 是设置环境变量值 docker run -d -p 6379:6379 \ -v /a…...
【数据安全】如何保证其安全
数据安全风险 数字经济时代,数据已成为重要的生产要素。智慧城市、智慧政务的建设,正以数据为核心,推动城市管理的智能化和公共服务的优化。然而,公共数据开放共享与隐私保护之间的矛盾日益凸显,如何在确保数据安全的…...
GTID详解
概念和组成 1,全局事务表示:global transaction identifiers 2, GTID和事务一一对应,并且全局唯一 3,一个GTID在一个服务器上只执行一次 4,mysql 5.6.5开始支持 组成 GTID server_uuid:transaction_id 如…...
【bodgeito】攻防实战记录
也许有一天我们再相逢,睁开眼睛看清楚,我才是英雄。 进入网站整体浏览网页 点击页面评分进入关卡 一般搭建之后这里都是红色的,黄色是代表接近,绿色代表过关 首先来到搜索处本着见框就插的原则 构造payload输入 <script>…...
【基础篇】1. JasperSoft Studio编辑器与报表属性介绍
编辑器介绍 Jaspersoft Studio有一个多选项卡编辑器,其中包括三个标签:设计,源代码和预览。 Design:报表设计页面,可以图形化拖拉组件设计报表,打开报表文件的主页面Source:源代码页码ÿ…...
SpringBoot+Vue3实现阿里云视频点播 实现教育网站 在上面上传对应的视频,用户开会员以后才能查看视频
要使用阿里云视频点播(VOD)实现一个教育网站,其中用户需要成为会员后才能查看视频,这个过程包括上传视频、设置权限控制、构建前端播放页面以及确保只有付费会员可以访问视频内容。 1. 视频上传与管理 创建阿里云账号ÿ…...
在VBA中结合正则表达式和查找功能给文档添加交叉连接
在VBA中搜索文本有两种方式可用,一种是利用Range.Find对象(更常见的形式可能是Selection.Find,Selection是Range的子类,Selection.Find其实就是特殊的Range.Find),另一种方法是利用正则表达式,但…...
spring\strust\springboot\isp前后端那些事儿
后端 一. 插入\更新一条数据(老) Map<String, Object> parameterMap MybatisUtil.initParameterSave("Send_ProjectFrozenLog", sendProjectFrozenLog); commonMapper.insert(parameterMap);parameterMap MybatisUtil.initParameter…...
Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
文章目录 1、 缓存预热2、 缓存雪崩3、 缓存击穿4、 缓存穿透总结 1、 缓存预热 什么是预热: mysql加入新增100条记录,一般默认以mysql为准作为底单数据,如何同步给redis(布隆过滤器)这100条新数据。 为什么需要预热…...
【Java计算机毕业设计】基于Springboot小药店销售管理系统【源代码+数据库+LW文档+开题报告+答辩稿+部署教程+代码讲解】
源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储:…...
AIGC与现代教育技术
目录 引言 一、AIGC在教育技术中的基本概念 1.1 什么是AIGC? 1.2 传统教育技术和AIGC的对比 二、实现过程:AIGC在现代教育中的实现 2.1 自动生成课件内容 2.1.1 代码示例:使用GPT生成教学文案 2.1.2 完善自动生成资料 2.1.3 多模态内…...
【活动邀请·深圳】深圳COC社区 深圳 AWS UG 2024 re:Invent re:Cap
re:Invent 是全球云计算领域的顶级盛会,每年都会吸引来自世界各地的技术领袖、创新者和实践者汇聚一堂,分享最新的技术成果和创新实践,深圳 UG 作为亚马逊云科技技术社区的重要组成部分,将借助 re:Invent 的东风,举办此…...
Java中的LIst
在Java中,List接口是集合框架(Collections Framework)的一部分,用于表示有序的集合(也称为序列)。List允许存储重复的元素,并且可以通过索引访问元素。以下是对Java中List的详细介绍:…...
源码分析之Openlayers中MousePosition鼠标位置控件
概述 本文主要介绍 Openlayers 中的MousePosition鼠标位置控件,该控件会创建一个元素在页面的右上方用来实时显示鼠标光标的位置坐标。该控件在实际应用很有效,可以实时获取鼠标位置,但是一般控件元素都会自定义。 源码分析 MousePosition…...
List深拷贝后,数据还是被串改
List深拷贝后数据还是被串改 List newList new ArrayList<>(oldList)newList.pushAll(oldList)你甚至想到了java8streamAPI以上还不行 List newList new ArrayList<>(oldList) 这是采用构造参数做到的深拷贝,是没问题的 newList.pushAll(oldList) …...