欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 蓝桥杯2024年第十五届省赛真题-R 格式

蓝桥杯2024年第十五届省赛真题-R 格式

2025/4/8 10:27:42 来源:https://blog.csdn.net/2202_75344116/article/details/146999545  浏览:    关键词:蓝桥杯2024年第十五届省赛真题-R 格式

题目链接:

思路:

通过数组模拟d的每一位,逐位进行计算,从而实现对d的精确处理。

代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2020;int n;
string s;
vector<int> q;void gd(vector<int>& q, int num){int t = 0;for(int i = 0; i < (int)q.size(); i++){//计算每一位乘 numt += q[i] * num;//余数q[i] = t % 10;//进位t /= 10;}//进位if(t) q.push_back(t);
}void add(vector<int>& q, int k, int num){//t=num 表示后面一位要加上前面一位 / 10 的数(进位)int t = num;for(int i = k; i < (int)q.size(); i++){t += q[i];q[i] = t % 10;t /= 10;}if(t) q.push_back(t);
}signed main(){cin >> n >> s;//反转sreverse(s.begin(), s.end());//得到s反转后小数点的位置int c = s.find('.');//将反转的s存入q中for(auto x: s){if(x !='.'){//将x转换为int类型q.push_back(x - '0');}}//高精度 * 低精度while(n--) gd(q, 2);//四舍五入//反转后判断小数点前面位置//q中没有存'.',所以小数点位置就是进位的位置if(q[c-1] >= 5) add(q,c,1);//输出整数答案 逆序for(int i = (int)q.size()-1; i >= c; i--){cout << q[i];}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词