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

蓝桥杯真题------R格式(高精度乘法,高精度加法)

对于高精度乘法和加法的同学可以学学这几个题
高精度乘法
高精度加法


文章目录

  • 题意
  • 分析
    • 部分解
    • 全解
  • 后言

题意

在这里插入图片描述
给出一个整数和一个浮点数,求2的整数次幂和这个浮点数相乘的结果最后四舍五入。、

分析

我们可以发现,n的范围是1000,2的1000次方非常大,我们用pow只能求到2的31次方左右,即便我们开了long long也是远远不够的,所以我们显然可以知道,这题肯定是用高精度来写的。
不过如果在比赛的时候没有时间敲高精度(确实很费时间),我们直接暴力跑他这个小范围拿个部分分算了。👇下面给大家看看正解和部分解

部分解

在这里插入图片描述
直接用上最简单的方法,round函数求四舍五入,pow求2的n次幂。然后直接就暴力写了。下面看一下这个代码。

void Solve () {int n;double x;cin>>n>>x;int t = pow(2,n);long double pos = round(t*x);cout<<pos;return ;
}

这个方法显然不是很好,但是简单。下面看下正解(我的写法,不知道是不是正解,但是过题就是正解)

全解

在这里插入图片描述

对于2的n次幂我们可以求n次高精度,每一次和2相乘,这个时间复杂度我们是可以接受的。
对于浮点数,我们可以直接忽略小数点,在二者相乘完之后我们在往后加小数点,最后根据小数点的位置我们再四舍五入判断再加一,不过这个加一我们不能简单的加一,我们要用高精度。
不过我想了一下发现好像遍历着相加好像更简单
难点部分就是在于高精乘,如果有模板的话,直接复制粘贴一会就写完了,不过没有的话,我们就只能自己手撸了。好难撸

#include <bits/stdc++.h>
using namespace std;
#define int long long 
#define fi first
#define se second
#define ALL(x) x.begin(),x.end()
#define PII pair<int,int>
#define pb push_backint a[12000],b[12000],c[12000];
string gaojin (string s,string y) {//高精乘模板memset(a,0,sizeof a);memset(b,0,sizeof b);memset(c,0,sizeof c);for (int j=s.size()-1,i = 0;j>=0;j--,i++)a[i]=s[j]-'0';for (int i=0,j=y.size()-1;j>=0;i++,j--)b[i]=y[j]-'0';for (int i=0;i<y.size();i++){for (int j=0;j<s.size();j++)c[i+j]+=a[j]*b[i];}int f=s.size()+y.size();for (int i=0;i<f;i++){if (c[i]>=10){c[i+1]+=c[i]/10;c[i]%=10;}}while (c[f]==0&&f>0)f--;string ans="";for (int i=f;i>=0;i--) ans.insert(ans.end(),c[i]+'0');return ans;	
}string gaojinjia (string s1,string s2) {//高精加模板memset(a,0,sizeof a);memset(b,0,sizeof b);memset(c,0,sizeof c);for (int i=s1.size()-1,j=0;i>=0;i--,j++) a[j] = s1[i]-'0';for (int i=s2.size()-1,j=0;i>=0;i--,j++) b[j] = s2[i]-'0';int k = max(s1.size(),s2.size());for (int i=0;i<k;i++) {c[i] += a[i]+b[i];if (c[i]>=10) {c[i+1] += c[i]/10;c[i]%=10;}}string ans;if (c[k]!=0) k++; for (int i=k-1;i>=0;i--) ans.insert(ans.end(),c[i]+'0');return ans;
}void Solve () {int n;string s;//直接读入string形s,方便高精操作cin>>n>>s;string t = "1";while (n--) t = gaojin(t,"2");//不断用高精乘2求2的n次幂int w = s.find('.');string s1 = s.substr(0,w);string s2 = s.substr(w+1);string S = s1+s2;//将小数点去掉,但是用erase的时候不知道哪里错了,就用简单的加减了w = s.size()-w-1;//求出小数点在哪里string T = gaojin(S,t);//T是乘完之后的数,包括整数和小数,不过小数点没有明确char ch = T[T.size()-w];//找到小数点的位置后一位的数字string ans1 = T.substr(0,T.size()-w);//将整数部分提取出来if (ch>='5')  cout<<gaojinjia(ans1,"1");//如果小数点后一位大于5,就高精+1else cout<<ans1;return ;
}signed main () {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _ = 1;
//	 cin >> _ ;while (_--) Solve (); return 0;
}

⚠️注意初始化!!!注意数组范围!!!
由于我总是忘记初始化,所以总是被卡很长时间,写的比较丑陋,对不起。

后言

这题是真的难写,难度到不是很大,就是一个模拟题,不过码量是真不少。写了一下又帮助自己回忆了一下高精度的知识。多加练习,不然容易生疏。

相关文章:

蓝桥杯真题------R格式(高精度乘法,高精度加法)

对于高精度乘法和加法的同学可以学学这几个题 高精度乘法 高精度加法 文章目录 题意分析部分解全解 后言 题意 给出一个整数和一个浮点数&#xff0c;求2的整数次幂和这个浮点数相乘的结果最后四舍五入。、 分析 我们可以发现&#xff0c;n的范围是1000,2的1000次方非常大&am…...

Nginx — Nginx安装证书模块(配置HTTPS和TCPS)

一、安装和编译证书模块 [rootmaster nginx]# wget https://nginx.org/download/nginx-1.25.3.tar.gz [rootmaster nginx]# tar -zxvf nginx-1.25.3.tar.gz [rootmaster nginx]# cd nginx-1.25.3 [rootmaster nginx]# ./configure --prefix/usr/local/nginx --with-http_stub_…...

回调后门基础

回调后门概述 回调后门&#xff08;Reverse Shell&#xff09;是一种常见的攻击方式&#xff0c;攻击者通过受害主机主动连接到远程服务器&#xff08;攻击者控制的机器&#xff09;&#xff0c;从而获得远程控制权限。 工作原理 受害者主机 运行一个恶意代码&#xff0c;尝…...

深度学习 Deep Learning 第13章 线性因子模型

深度学习 Deep Learning 第13章 线性因子模型 内容概要 本章深入探讨了线性因子模型&#xff0c;这是一类基于潜在变量的概率模型&#xff0c;用于描述数据的生成过程。这些模型通过简单的线性解码器和噪声项捕捉数据的复杂结构&#xff0c;广泛应用于信号分离、特征提取和数…...

【个人笔记】用户注册登录思路及实现 springboot+mybatis+redis

基本思路 获取验证码接口 验证码操作用了com.pig4cloud.plugin的captcha-core这个库。 AccountControl的"/checkCode"接口代码&#xff0c;通过ArithmeticCaptcha生成一张验证码图片&#xff0c;通过text()函数得到验证码的答案保存到变量code&#xff0c;然后把图…...

华为OD机试2025A卷 - 正则表达式替换(Java Python JS C++ C )

最新华为OD机试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 题目描述 为了便于业务互交,约定一个对输入的字符串中的下划线做统一替换。 具体要求如下: 输入字符串,将其中包含的每一个下划线“_”,使用特殊字符串(^|$|[,+])替换,并输出替换后的结果…...

WPS宏开发手册——Excel常用Api

目录 系列文章4、Excel常用Api4.1、判断是否是目标工作excel4.2、获取源工作表和目标工作表的引用4.3、获取单元格的值4.4、设置单元格的值4.5、合并单元格4.6、获取源范围4.7、获取源范围行数4.8、通过源来获取单元格的值4.9、设置单元格的背景颜色4.10、设置单元格的文字颜色…...

数据库基础入门

关系型数据库 vs. 非关系型数据库SQL 基础 & ORM 框架使用一、数据库概述 数据库(Database)是 存储和管理数据 的系统,主要分为 关系型数据库(Relational Database) 和 非关系型数据库(NoSQL)。 📌 数据库的作用: ✅ 存储:持久化数据,避免数据丢失。 ✅ 管理…...

聚类(Clustering)基础知识3

文章目录 一、聚类的性能评价1、聚类性能评价&#xff08;1&#xff09;聚类性能评价方法&#xff1a; 2、参考模型 (reference model)&#xff08;1&#xff09;数据集&#xff1a;&#xff08;2&#xff09;聚类结果&#xff1a;&#xff08;3&#xff09;参考模型&#xff1…...

RK3588使用笔记:设置程序/服务开机自启

一、前言 一般将系统用作嵌入式设备时肯定要布置某些程序&#xff0c;这时候就需要对程序设置开机自己&#xff0c;否则每次都要人为启动&#xff0c;当有些嵌入式系统未连接显示屏或者无桌面环境去操作启动程序时&#xff0c;程序自启就是必须的了&#xff0c;本文介绍在纯li…...

Python-数据处理

第十五章 生成数据 安装Matplotlib&#xff1a;通过pip install matplotlib命令安装库。绘制折线图的核心语法为&#xff1a; import matplotlib.pyplot as plt x_values [1, 2, 3] y_values [1, 4, 9] plt.plot(x_values, y_values, linewidth2) plt.title(&quo…...

LoRA技术全解析:如何用4%参数量实现大模型高效微调

引言 在当今的人工智能领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;已经成为革命性的技术。然而&#xff0c;这些模型通常拥有数十亿个参数&#xff0c;全量微调成本极高。本文将为初级开发者详细讲解LoRA&#xff08;Low-Rank Adaptation&#xff09;技术&#…...

职测-言语理解与表达

成语填空 成语的误用 误用①&#xff1a;望文生义【按成语的字面意思去理解&#xff0c;导致误用】 成语解释如数家珍对列举的事物或叙述的故事十分熟悉&#xff0c;但熟悉的对象不能是自己收藏的宝贝目无全牛比喻技术熟练到得心应手的境地登堂入室比喻学问或技艺由浅入深&a…...

深度学习处理文本(2)

建立词表索引 将文本拆分成词元之后&#xff0c;你需要将每个词元编码为数值表示。你可以用无状态的方式来执行此操作&#xff0c;比如将每个词元哈希编码为一个固定的二进制向量&#xff0c;但在实践中&#xff0c;你需要建立训练数据中所有单词&#xff08;​“词表”​&…...

python实现股票数据可视化

最近在做一个涉及到股票数据清洗及预测的项目&#xff0c;项目中需要用到可视化股票数据这一功能&#xff0c;这里我与大家分享一下股票数据可视化的一些基本方法。 股票数据获取 目前&#xff0c;我已知的使用python来获取股票数据方式有以下三种: 爬虫获取&#xff0c;实现…...

JavaScript DOM与元素操作

目录 DOM 树、DOM 对象、元素操作 一、DOM 树与 DOM 对象 二、获取 DOM 元素 1. 基础方法 2. 现代方法&#xff08;ES6&#xff09; 三、修改元素内容 四、修改元素常见属性 1. 标准属性 2. 通用方法 五、通过 style 修改样式 六、通过类名修改样式 1. className 属…...

ARM向量表

向量表作用说明RVBAR在 AArch64 中&#xff0c;重置向量不再是异常向量表的一部分。 有复位向量的专用配置输入引脚和寄存器。在 AArch64 中&#xff0c;处理器从 IMPLEMENTAION‑DEFINED 地址开始执行&#xff0c; 该地址由硬件输入引 脚RVBARADDR定义&#xff0c; 可以通过 R…...

leetcode刷题日记——除自身以外数组的乘积

[ 题目描述 ]&#xff1a; [ 思路 ]&#xff1a; 题目要求获取数组中每个元素除自己以外的各元素的乘积最简单的方法就是算出数组所有元素的乘积&#xff0c;然后除以自身&#xff0c;即可得到除自身外各元素的乘积 但要考虑到其自身为0的情况&#xff0c;即当期自身为0时&am…...

【信奥一本通提高篇】基础算法之贪心算法

原文 https://bbs.fmcraft.top/blog/index.php/archives/22/ 贪心算法 概述 近年来的信息学竞赛试题&#xff0c;经常出现求一个问题的可行解或最优解的题目。这类问题就是我们通常所说的最优化问题。贪心算法是求解这类问题的一种常用算法。在众多的算法中&#xff0c;贪心…...

PyQt6实例_批量下载pdf工具_批量pdf网址获取

目录 前置&#xff1a; 步骤&#xff1a; step one 安装包 step two 获取股票代码 step three 敲代码&#xff0c;实现 step four 网址转pdf网址 视频 前置&#xff1a; 1 本系列将以 “PyQt6实例_批量下载pdf工具”开头&#xff0c;放在 【PyQt6实例】 专栏 2 本节讲…...

KMeans算法案例

KMeans算法案例 案例介绍 已知&#xff1a;客户性别、年龄、年收入、消费指数 需求&#xff1a;对客户进行分析&#xff0c;找到业务突破口&#xff0c;寻找黄金客户 数据集共包含顾客的数据, 数据共有 4 个特征, 数据共有 200 条。接下来&#xff0c;使用聚类算法对具有相似…...

IDApro直接 debug STM32 MCU

使用IDA pro 逆向分析muc 固件的时候&#xff0c; 难免要进行一些动态的debug&#xff0c;来进一步搞清楚一些内存的数据、算法等&#xff0c;这时候使用远程debug 的方式直接在mcu上进行debug 最合适不过了。 不过有个前提条件就是一般来说有的mcu 会被运行中的代码屏蔽 RDP、…...

六十天前端强化训练之第三十六天之E2E测试(Cypress)大师级完整指南

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、知识讲解 1. E2E测试核心概念 2. Cypress框架特性 3. 工作原理 4. 测试金字塔定位 二、核心代码示例&#xff1a;用户登录全流程测试 三、实现效果展示 四、学习要…...

创建和管理Pod

创建和管理Pod 文章目录 创建和管理Pod[toc]一、什么是Pod1.Pod 的核心定义2.Pod 的组成与结构3.Pod 的生命周期4.Pod 的使用场景5.高级特性 二、Pod与容器1. 为什么使用 Pod 作为 Kubernetes 的最小部署单元&#xff1f;2. 单一容器 Pod3. 多容器 Pod4. 初始化容器&#xff08…...

20250330-傅里叶级数专题之离散傅里叶变换(5/6)

5. 傅里叶级数专题之离散傅里叶变换 推荐视频: 工科生以最快的速度理解离散傅立叶变换(DFT) 哔哩哔哩 20250328-傅里叶级数专题之数学基础(0/6)-CSDN博客20250330-傅里叶级数专题之傅里叶级数(1/6)-CSDN博客20250330-傅里叶级数专题之傅里叶变换(2/6)-CSDN博客20250330-傅里叶…...

Android设计模式之代理模式

一、定义&#xff1a; 为其他对象提供一种代理以控制对这个对象的访问。 二、角色组成&#xff1a; Subject抽象主题&#xff1a;声明真是主题与代理的共同接口方法&#xff0c;可以是一个抽象类或接口。 RealSubject真实主题&#xff1a;定义了代理表示的真实对象&#xff0c…...

《非暴力沟通》第十二章 “重获生活的热情” 总结

《非暴力沟通》第十二章 “重获生活的热情” 的核心总结&#xff1a; 本章将非暴力沟通的核心理念延伸至生命意义的探索&#xff0c;提出通过觉察与满足内心深处的需要&#xff0c;打破“义务性生存”的桎梏&#xff0c;让生活回归由衷的喜悦与创造。作者强调&#xff0c;当行动…...

3.29:数据结构-绪论线性表-上

一、时间复杂度 1、ADT 2、定义法计算时间复杂度&#xff1a;统计核心语句的总执行次数 &#xff08;1&#xff09;例题1&#xff0c;与2022年的真题对比着写 此题关键在于求和公式的转化&#xff0c;类型为&#xff1a;线性循环嵌套非线性循环 2022年那道题如果考场上实在脑…...

Java项目如何打jar包?

1.java把项目打包成jar 步骤一、IDEA -> File -> Project Structure -> Artifacts -> -> JAR -> From moduls with dependencies... -> 选择 Module 和 Main Class -> 选择 JAR files from libraries JAR files from libraries 解释 extract to the t…...

【奶茶经济学的符号暴力本质】

金字塔式七层分析框架&#xff1a;奶茶经济学的符号暴力本质 第一层&#xff1a;缺货的戏剧经济学 结论&#xff1a;13.7%缺货率是精密计算的神经钩 机制&#xff1a;喜茶新品首日仅投放86.3%门店&#xff0c;制造"限量焦虑"激活前额叶决策区矛盾验证&#xff1a; …...