P10425 [蓝桥杯 2024 省 B] R 格式

ops/2024/12/23 11:50:27/

题目描述:

小蓝最近在研究一种浮点数的表示方法:R 格式。对于一个大于 00 的浮点数 d,可以用 R 格式的整数来表示。给定一个转换参数 n,将浮点数转换为 R 格式整数的做法是:

  1. 将浮点数乘以 2^n。
  2. 四舍五入到最接近的整数。

输入格式

一行一个整数 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;
}

 


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

相关文章

2025前端面试热门题目——计算机网络篇

计算机网络篇——面试 1. 到底什么是 TCP 连接? TCP 连接的定义 TCP&#xff08;传输控制协议&#xff09;是一个面向连接的传输层协议。TCP 连接是通过 三次握手 确立的可靠数据通信链路&#xff0c;保证了在不可靠网络&#xff08;如互联网&#xff09;上的数据传输的准确…

5G -- 空口关键技术

前言&#xff1a; 手机(UE)和5G基站(gNodeB)之间的空中接口 新技术的特点&#xff1a; 1、提升速率&#xff1a;大带宽、新编码、高阶调制、F-OFDM、M-MIMO 2、降低时延&#xff1a;灵活帧结构、自包含时隙、免授权调度、D2D 3、提升覆盖&#xff1a;上下行解耦、EN-DC(双连…

计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫 机

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

6.4 对称矩阵

一、对称矩阵的性质 可以毫不夸张的说&#xff0c;对称矩阵 S S S 是世界上所能看到的最重要的矩阵 —— 不仅在线性代数理论也是在实际应用中。关于对称矩阵的关键问题&#xff0c;这个问题有两部分答案&#xff1a; 当 S 是对称矩阵时&#xff0c; S x λ x 有什么特殊的&…

MySQL内查询

MySQL是一种关系型数据库管理系统&#xff0c;可以使用SQL&#xff08;结构化查询语言&#xff09;进行数据查询。以下是一些常见的MySQL查询示例&#xff1a; 查询表中所有数据&#xff1a; SELECT * FROM 表名;查询表中指定列的数据&#xff1a; SELECT 列1, 列2 FROM 表名…

OpenAI o3 “震撼” 发布后回归技术本身的审视与进一步思考

OpenAI o3就这么 “duang”的一下来了&#xff0c;相关的各种评测和报告资讯一大堆&#xff0c;所展露的“震撼”或简单粗暴的某种工业或工程学“组合堆叠”就不多说了&#xff0c;在这里还是主要还是想跟大家聊聊技术本身。 今天凌晨看到一篇媒体报道里有一种通俗工学上的类比…

Swin transformer 论文阅读记录 代码分析

该篇文章&#xff0c;是我解析 Swin transformer 论文原理&#xff08;结合pytorch版本代码&#xff09;所记&#xff0c;图片来源于源paper或其他相应博客。 代码也非原始代码&#xff0c;而是从代码里摘出来的片段&#xff0c;配上简单数据&#xff0c;以便理解。 当然&…

CSS 网络安全字体

适用于 HTML 和 CSS 的最佳 Web 安全字体 下面列出了适用于 HTM L和 CSS 的最佳 Web 安全字体&#xff1a; Arial (sans-serif)Verdana (sans-serif)Helvetica (sans-serif)Tahoma (sans-serif)Trebuchet MS (sans-serif)Times New Roman (serif)Georgia (serif)Garamond (se…