R格式 (15届B) 高精度

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

void mul(vector<int> &A,int b)
{
	int t=0;
	for(int i=0;i<A.size();i++)
	{
		t+=A[i]*b;
		A[i]=t%10;
		t/=10;
		}
		if(t) A.push_back(t);
}

void add(vector<int >& A, int k,int b)
{
	int t=b;
	for(int i=k;i<A.size();i++)
	{
		t+=A[i];
		A[i]=t%10;
		t/=10;
	}
	if(t) A.push_back(t);
}


int main()
{
	int n;
	string d;
	cin>>n>>d;
	
	reverse(d.begin(),d.end());
	int dot=d.find('.');
	vector<int> D;
	for(auto c:d)
	 	if(c!='.')
	 	D.push_back(c-'0');
	
	while(n--) mul(D,2);
	if(D[dot-1]>=5) add(D,dot,1);
	for(int i=D.size()-1;i>=dot;i--)
	cout<<D[i];
	return 0;
}
相关推荐
chao_7892 分钟前
Union 和 Optional 区别
开发语言·数据结构·python·fastapi
hsjkdhs2 分钟前
C++之类的组合
开发语言·c++·算法
疯狂的Alex30 分钟前
【C#避坑实战系列文章16】性能优化(CPU / 内存占用过高问题解决)
开发语言·性能优化·c#
象骑士Hack32 分钟前
dev c++工具下载 dev c++安装包下载 dev c++软件网盘资源分享
开发语言·c++
铍镁钙锶钡镭1 小时前
FFmpeg 解封装简单流程
开发语言·ffmpeg·php
郝学胜-神的一滴2 小时前
深入理解 Qt 元对象系统:QMetaEnum 的应用与实践
开发语言·c++·qt·软件工程
Brookty2 小时前
【Java学习】定时器Timer(源码详解)
java·开发语言·学习·多线程·javaee
ao_lang2 小时前
Qt事件处理全解析
开发语言·qt
艾莉丝努力练剑2 小时前
【C++STL :vector类 (二) 】攻克 C++ Vector 的迭代器失效陷阱:从源码层面详解原理与解决方案
linux·开发语言·c++·经验分享
有Li2 小时前
EndoChat:面向内镜手术的基于事实依据的多模态大型语言模型|文献速递-文献分享
大数据·论文阅读·人工智能·算法·文献·医学生