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;
}
相关推荐
蜡笔小马5 分钟前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
IOsetting5 分钟前
金山云主机添加开机路由
运维·服务器·开发语言·网络·php
唐梓航-求职中14 分钟前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#
仟濹15 分钟前
【算法打卡day3 | 2026-02-08 周日 | 算法: BFS】3_卡码网99_计数孤岛_BFS | 4_卡码网100_最大岛屿的面积DFS
算法·深度优先·宽度优先
Ll130452529819 分钟前
Leetcode二叉树part4
算法·leetcode·职场和发展
林开落L19 分钟前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
牛奔24 分钟前
Go 是如何做抢占式调度的?
开发语言·后端·golang
颜酱28 分钟前
二叉树遍历思维实战
javascript·后端·算法
宝贝儿好30 分钟前
第二章: 图像处理基本操作
算法
符哥200832 分钟前
C++ 进阶知识点整理
java·开发语言·jvm