算法题(11):R格式

ops/2024/12/22 18:31:40/

审题:

由于该题的数据值非常大,所以我们需要使用高精度计算法,简单来说就是先把数据通过字符串存储,然后转换到int型数组,对数据每一位分别进行乘法运算,然后循环进位

思路:

(1)数据录入与预处理:

1.反转字符串

2.找到并删除小数点

3.将字符每一位对应转换到int数组中

(2)乘法运算,进行n次乘法函数运算

乘法函数

1.对于每一位都乘二

2.循环进位

3.检查最高位是否有进位,有进位就让len++

(3)判断是否需要四舍五入

需要就还要进行进位以及最高位判断

(4)逆序输出

解题:

(1)数据录入与预处理:

注意这里d字符串中字符是从0下标开始存储,而a是从1开始存储的。

(2)乘法运算,进行n次乘法函数运算

这里就是相当于模拟我们日常手算的过程,之所以叫高精度计算,是因为我们可以对每一位都进行精准运算。而库自带的运算法则可能会因为该题的浮点型数精度过高而存不下丢失精度。

疑问一:为什么要反转字符串?

因为这样我们在进位的时候就是往下标大的方向进位,不会出现访问-1下标的情况

疑问二:为什么要删掉‘ . ’?

因为我们需要进行数字运算,如果中间夹着一个小数点会很麻烦

(3)判断是否需要四舍五入

疑问:为什么p的位置就是第一个小数的位置?

由于字符串d的下标是从0开始的,那么我们的小数点下标就是2,把2给到p,所以p==2

而int数组是从1开始的,所以第一个小数3就是下标为2,也就是p的值

故,a[p]就代表第一个小数

(4)逆序输出

因为是逆序,所以从len开始,又因为p位置是小数位置,所以我们不访问到p

链接:[蓝桥杯 2024 省 B] R 格式 - 洛谷


http://www.ppmy.cn/ops/144091.html

相关文章

Python7-数据结构

记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化 python基础7-数据结构的那些事儿 常见的数据结构有哪些?线性数据结构有哪些?非线性数据结构有哪…

进网许可认证、交换路由设备检测项目更新25年1月起

实施时间 2025年1月1日起实施 涉及设备范围 核心路由器、边缘路由器、以太网交换机、三层交换机、宽带网络接入服务器(BNAS) 新增检测依据 GBT41266-2022网络关键设备安全检测方法交换机设备 GBT41267-2022网络关键设备安全技术要求交换机设备 GB/…

[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words

python有哪些关键字_keyword_list_列表_reserved_words 回忆上次内容 hello world 不是 从来就有的 来自于 c语言 print、小括号 和 双引号 也来自于 c语言 添加图片注释,不超过 140 字(可选) python 标识符 的 命名规则 依然 完全 学习…

[手机Linux] 六,ubuntu18.04私有网盘(NextCloud)安装

一,LNMP介绍 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…

基于 SSM 和 Vue 架构的新锐台球厅管理系统:创新设计引领高效实现

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

SQL进阶技巧:如何计算商品需求与到货队列表进出计划?

目录 0 需求描述 1 数据准备 2 问题分析 3 小结 累计到货数量计算 出货数量计算 剩余数量计算 0 需求描述 假设现有多种商品的订单需求表 DEMO_REQUIREMENT,以及商品的到货队列表 DEMO_ARR_QUEUE,要求按照业务需要,设计一个报表&#…

MFC/C++学习系列之简单记录6

MFC/C学习系列之简单记录6 前言CAboutDlg和CMFCtest1Dlg的区别MSFlexGrid的限制输入其他方式 CWndCDC总结 前言 简单的记录一下! CAboutDlg和CMFCtest1Dlg的区别 在使用添加事件后,出现两者,并且在CAboutDlg中无法使用已经定义的控件&#x…

算法 计算大的长方形容器中,存放一排小长形容器,计算出小长形容器中最后一个元素的x坐标的位置的实现方法

1、先上个图: 2、说明 1)中间的蓝色长方形是里面的橙色长方形的容器,比如第一个图中width2width3,因为只有一个,第二个图中有二个小的长方形,也就是说width22width3,第三个图中有3个小长方形&a…