在建设厅网站上查询注销建造师新建网站需要多少钱
news/
2025/10/1 19:22:21/
文章来源:
在建设厅网站上查询注销建造师,新建网站需要多少钱,建设网站外国人可搜到,外包加工网官网下载app题目描述#xff1a;
小蓝最近在研究一种浮点数的表示方法#xff1a;R 格式。对于一个大于 00 的浮点数 d#xff0c;可以用 R 格式的整数来表示。给定一个转换参数 n#xff0c;将浮点数转换为 R 格式整数的做法是#xff1a;
将浮点数乘以 2^n。四舍五入到最接近的整…题目描述
小蓝最近在研究一种浮点数的表示方法R 格式。对于一个大于 00 的浮点数 d可以用 R 格式的整数来表示。给定一个转换参数 n将浮点数转换为 R 格式整数的做法是
将浮点数乘以 2^n。四舍五入到最接近的整数。
输入格式
一行一个整数 n 和一个浮点数 d。
输出格式
一行一个整数表示 d 用 R 格式表示出的值。
输入输出样例
输入 #1
2 3.14
输出 #1
13
说明/提示
样例 1 解释
3.14×2^212.56 四舍五入后为 13。
数据规模与约定
用 t 表示将 d 视为字符串时的长度。
对于 50% 的数据保证 n≤10t≤15。对于全部的测试数据保证1≤n≤10001≤t≤1024保证 d 是小数即包含小数点。
解题思路
首先观察题目题目中的数据大小1024位明显大于整形变量值应当用string来存储。所以我们可以想到用高精度计算来解决这道题。
将浮点数d存储到字符串中去掉小数点后倒置方便计算接着进行相乘对每位进行相乘用数组存储。若数组数大于10就模10进位之后需要检查一下计算后是否有位数的改变。
之后进行四舍五入的判断判断之后需要检查进位以及位数是否发生变化最后再导致输出结果。
样例代码
#include iostream
#include math.h
#include vector
#include algorithm
using namespace std;
int n, arr[1000000], p, l;//数组开大一点
string q;
void cheng()
{for (int i 1; i l; i)//每一位乘arr[i] * 2;for (int i 1; i l; i)//进位{arr[i 1] arr[i] / 10;arr[i] % 10;}if (arr[l 1])//相乘可能会导致位数增加所以要检查大小l;
}
int main()
{cin n q;reverse(q.begin(), q.end());p q.find(.);q.erase(p, 1);//去掉小数点将小数点的位置设置为pl q.size();for (int i 0; i l; i)//字符串转换arr[i 1] q[i] - 0;for (int i 1; i n; i)cheng();if (arr[p] 5)//四舍五入arr[p 1];for (int i p 1; i l; i)//检查四舍五入后的进位{arr[i 1] arr[i] / 10;arr[i] % 10;}if (arr[l 1])//检查位数变化l;for (int i l; i p; i--)cout arr[i];return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924189.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!