第十五届蓝桥杯R格式(高精度*低精度算法)

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;
int n;string d;
vector <int> t;
void solve()
{
	while(n--)
	{
		int pos = 0;
		for(int i = 0;i<t.size();i++)
		{
			t[i]*=2;
			if(pos){
				t[i]+=1;
				pos = 0;
			}
			
			if(t[i]>=10) pos = 1;
			t[i]%=10;
			
		}
		if(pos) t.push_back(1);
	}
	
	
	
	
}
int main()
{
	cin >> n >> d;
	int flag;
	for(int i = d.size()-1;i>=0;i--)
	{
		if(d[i] != '.') t.push_back(d[i]-'0');
		else{
			flag = d.size()-i-1;
		}
	}
	
	solve();

	if(t[flag-1] >=5)
	{
		t[flag]+=1;
	}
	for(int i = t.size()-1;i>=flag;i--)
	{
		cout << t[i];
	}
	
	return 0;
}
相关推荐
YY_TJJ2 小时前
算法题——贪心算法
算法·贪心算法
C++ 老炮儿的技术栈2 小时前
include″″与includ<>的区别
c语言·开发语言·c++·算法·visual studio
RainbowC02 小时前
GapBuffer高效标记管理算法
android·算法
liu****2 小时前
10.queue的模拟实现
开发语言·数据结构·c++·算法
mit6.8242 小时前
10.17 枚举中间|图论
算法
让我们一起加油好吗3 小时前
【基础算法】01BFS
数据结构·c++·算法·bfs·01bfs
孤狼灬笑3 小时前
机器学习十大经典算法解析与对比
人工智能·算法·机器学习
靠近彗星4 小时前
3.1 栈
数据结构·算法
sulikey4 小时前
一文彻底理解:如何判断单链表是否成环(含原理推导与环入口推算)
c++·算法·leetcode·链表·floyd·快慢指针·floyd判圈算法