R格式 | 第十五届蓝桥杯C++B组

embedded/2025/3/15 3:26:25/

小蓝最近在研究一种浮点数的表示方法:RR 格式。

对于一个大于 00 的浮点数 dd,可以用 RR 格式的整数来表示。

给定一个转换参数 nn,将浮点数转换为 RR 格式整数的做法是:

  1. 将浮点数乘以 2n2n;
  2. 四舍五入到最接近的整数。
输入格式

一行输入一个整数 nn 和一个浮点数 dd,分别表示转换参数,和待转换的浮点数。

输出格式

输出一行表示答案:dd 用 RR 格式表示出来的值。

数据范围

用 ll 表示将 dd 视为字符串时的长度。
对于 50%50% 的评测用例:1≤n≤101≤n≤10,1≤l≤151≤l≤15。
对于 100%100% 的评测用例:1≤n≤10001≤n≤1000,1≤l≤10241≤l≤1024;保证 dd 是小数,即包含小数点。

输入样例:
2 3.14
输出样例:
13
样例解释

3.14×22=12.563.14×22=12.56,四舍五入后为 1313。

题解:

        本来看到1024位数和1000次方,就以为是有什么小技巧在里面,但是,什么都没有发现。

        计算了一下,1024*1000才不过7次级,就是一道普通的高精度运算题,使用字符串。

        普通地每一位乘2,大于十就进位。

        在四舍五入的时候要注意一下,是否前面有9,是否有很多9,是否要字符串长度加一,比如999.75四舍五入是1000,这个1要处理,其他就没了。

代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<stack>
#include<vector>
#include<unordered_set>
#include<unordered_map>
#include<map>
#include<set>
using namespace std;
typedef long long int ll;int n;
string s;string ride(string s){string a;bool pl=false;for(int i=s.size()-1;i>=0;i--){if(s[i]=='.'){a='.'+a;}else{//cout << "s[i]: " << s[i] << "\n";int t=(s[i]-48)*2;char ch=(t%10)+48;a=ch+a;if(pl){a[0]++;pl=false;}if(t>=10){if(i==0){a='1'+a;}pl=true;}//cout << a << "\n";}}//cout << a << "\n";return a;}int main(){cin >> n;cin >> s;for(int i=0;i<n;i++){string a=ride(s);s=a;}//cout << s << "\n";for(int i=0;i<s.size();i++){if(s[i]=='.'){if((s[i+1]-48)>=5){int t=i-1;bool x=false;while(s[t]=='9'){s[t]='0';t--;if(t == -1){cout << '1';x=true;break;}}if(!x){s[t]++;}for(int j=0;j<i;j++){cout << s[j];}}else{for(int j=0;j<i;j++){cout << s[j];}}}}
}


http://www.ppmy.cn/embedded/172655.html

相关文章

matlab慕课学习3.2+3.3

于20250310 3.2用if语句实现选择结构 3.2.1什么是选择结构 用if 语句和switch语句可实现选择结构 3.2.2单分支if语句 if 条件语句组 %可以是一条也可是多条end 当条件为标量&#xff0c;非0表成立&#xff0c;0表示不成立。 当条件为矩阵时&#xff0c;矩阵非空&#xff…

基于Spring Boot的网上蛋糕售卖店管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

大语言模型-01-语言模型发展历程-03-预训练语言模型到大语言模型

简介 本博客内容是《大语言模型》一书的读书笔记&#xff0c;该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品&#xff0c;覆盖大语言模型训练与使用的全流程&#xff0c;从预训练到微调与对齐&#xff0c;从使用技术到评测应用&#xff0c;帮助学员全面掌握大语言模型的…

Kotlin关键字`when`的详细用法

Kotlin关键字when的详细用法 在Kotlin中&#xff0c;when是一个强大的控制流语句&#xff0c;相当于其他语言中的switch语句&#xff0c;但更加强大且灵活。本文将详细讲解when的用法及其常见场景&#xff0c;并与Java的switch语句进行对比。 一、基本语法 基本的when语法如…

leetCode求两数之和(第一题)

一、题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按任意顺序返回答…

接入手机后,DeepSeek难“转正”

2025开年之后&#xff0c;手机圈掀起了一场诡异的AI军备竞赛——争相接入DeepSeek。随着时间的推移&#xff0c;这股年初的狂热已然降温。 当潮水退去之后&#xff0c;暴露出手机AI领域的残酷真相&#xff1a;市面上手机自带的AI能力&#xff0c;没能像DeepSeek一样&#xff0c…

celery入门

按照Celery 官方文档&#xff0c;用 Django Celery Redis 写的一个简单项目 如需转载&#xff0c;标记出处 环境准备 1. 安装依赖 pip install django celery redis 创建 Django 项目 1. 创建 Django 项目和 APP django-admin startproject myproject cd myproject python …

Spring Boot 项目中application.yml 和 bootstrap.yml 文件的区别

application.yml 和 bootstrap.yml 文件都是 Spring Boot 项目中用于配置应用程序的 YAML 或 Properties 文件&#xff0c;但它们在加载顺序、用途和优先级上存在关键的区别。 核心区别概览: 特性bootstrap.yml / bootstrap.propertiesapplication.yml / application.propert…