当前位置: 首页 > news >正文

开一个做网站的工作室cn域名的网站

开一个做网站的工作室,cn域名的网站,抖音短剧推广平台有哪些,wordpress菜单移到右边文章目录 R 格式【问题描述】解题思路高精度乘法高精度加法 R 格式 【问题描述】 小蓝最近在研究一种浮点数的表示方法#xff1a;R 格式。对于一个大于 0 的浮点数 d#xff0c;可以用 R 格式的整数来表示。给定一个转换参数 n#xff0c;将浮点数转换为 R格式整数的做法… 文章目录 R 格式【问题描述】解题思路高精度乘法高精度加法 R 格式 【问题描述】 小蓝最近在研究一种浮点数的表示方法R 格式。对于一个大于 0 的浮点数 d可以用 R 格式的整数来表示。给定一个转换参数 n将浮点数转换为 R格式整数的做法是 将浮点数乘以 2n;四舍五入到最接近的整数。 【输入格式】 一行输入一个整数 n 和一个浮点数 d分别表示转换参数和待转换的浮点数。 【输出格式】 输出一行表示答案d 用 R 格式表示出来的值。 【样例输入】 2 3.14【样例输出】 13【样例说明】 3.14 × 22 12.56四舍五入后为 13。 【评测用例规模与约定】 对于 50% 的评测用例1 ≤ n ≤ 101 ≤ 将 d 视为字符串时的长度 ≤ 15。 对于 100% 的评测用例1 ≤ n ≤ 10001 ≤ 将 d 视为字符串时的长度≤ 1024保证 d 是小数即包含小数点。 解题思路 题意分析 将浮点数乘以 2n;四舍五入到最接近的整数。 根据题意将d * 2n分解为d * 2 * 2 * 2 * 2 * 2……这里2的n次方不能使用pow函数当n过大会得不到答案因为d长度小于等于1024所以可以使用高精度乘法的算法来实现 然后该如何去乘这里我先给出结论 一个小数乘以一个大于0的整数时小数点位数本身不会改变但小数点后面的数字可能会发生变化。乘法操作并不改变数字中小数点的位置它只是会影响小数点前后的数字值。 所以我们先将小数看作一个整数相乘即可例如1.05 * 2105 * 22102.10 四舍五入最后看小数点第一位是否大于等于5如果大于等于5前一位需要1需要注意的是这里可能存在连续进位例如9999.5应该四舍五入为10000所以这里因该使用高精度加法的算法 高精度乘法高精度加法 #includebits/stdc.h using namespace std;// 乘法函数用于将向量 a 中的每个元素乘以整数 n并返回结果向量 vectorint mul(vectorint a,int n) {vectorint c; // 结果向量int t0; // 用于累计进位for(int i0;ia.size()||t;i){if(ia.size()) ta[i]*n; // 计算当前位与 n 的乘积加上之前的进位c.push_back(t%10); // 将乘积的个位数加入结果向量t/10; // 更新进位}return c; // 返回结果向量 } // 加法函数用于将向量 b 的每个元素与整数 n 相加并返回结果向量 vectorint sum(vectorint b,int n) {vectorint c; // 结果向量int t0; // 用于累计进位for(int i0;ib.size();i){tb[i]; // 加上当前位的值if(n) tn%10; // 如果 n 不为零则加上 n 的当前位c.push_back(t%10); // 将和的个位数加入结果向量t/10; // 更新进位n/10; // 更新 n移动到下一位}if(t) c.push_back(t); // 如果最后还有进位加到结果向量的末尾return c; // 返回结果向量 }int main() {int n; // 转换参数 nstring s; // 待转换的浮点数 d 作为字符串cinns; // 从输入读取 n 和 sstring t; // 用于存储去掉小数点后的数字字符串int k0; // 小数点后数字的个数// 移除小数点并计算 kfor(int i0;is.size();i){if(s[i]!.)ts[i];elseki; }kt.size()-k; // 计算小数点后的位数vectorint a; // 存储数字的向量每个元素是一位数字// 将字符串 t 的数字转换为向量 afor(int it.size()-1;i0;i--)a.push_back(t[i]-0); // 将 a 乘以 2^nfor(int i1;in;i)amul(a,2);reverse(a.begin(),a.end()); // 反转结果向量以便从最高位开始处理int pa[a.size()-k]; // 获取可能需要四舍五入的位if(p5) // 如果需要四舍五入{vectorint b;// 构造需要增加 1 的向量 bfor(int ia.size()-1-k;i0;i--){b.push_back(a[i]);}bsum(b,1); // 对 b 加 1for(int ib.size()-1;i0;i--)coutb[i]; // 输出结果}else // 如果不需要四舍五入{for(int i0;ia.size()-k;i)couta[i]; // 直接输出结果}return 0; }代码大致流程 读取输入的转换参数 n 和浮点数 s。去除 s 中的小数点并计算出小数点后的位数 k。将处理过的数字转换为一个由单个数字组成的向量 a并对其进行 n 次乘以 2 的操作。判断是否需要进行四舍五入根据判断结果输出最终的整数值。 此代码通过数位分离和模拟手算乘法、加法的方式精确地处理了大数问题确保了在面对极大的 n 时仍能正确计算并避免浮点数精度问题。
http://www.hkea.cn/news/14304198/

相关文章:

  • 在哪里可以学习做网站网站制作报价维持地建网络
  • 新手如何入侵一个网站手机做推广比较好的网站
  • 有哪些做PPT背景网站厦门营销型网站建设公司
  • 设计网站100个免费百度云盘网站开发
  • 定州市住房和建设局网站莱芜规划
  • 云主机建网站软件北京网站制作团队
  • 做门头上那个网站申报wordpress调用文章标签
  • 做彩票网站12306网站谁做的
  • php能自己做网站吗网站底部备案字体设置
  • 网页设计制作手机网站便宜的做网站公司
  • 做企业网站怎么接活网站项目设计与制作
  • 吉林市建设厅网站互联网营销专家
  • 厦门怎么没有 网站备案wordpress 关闭warning
  • 广州番禺区地图高清版大图seo外包 杭州
  • 网站颜色搭配实例网页版微信登录显示二维码已失效
  • 网站怎么做才能将名声打响珠宝网站建设公司
  • 注册网站有什么用网站推广 软件
  • 顺义做网站的厂家杭州网站建设响应式
  • 鲜花团购网站建设广州汽车网络推广服务
  • 购物网站后台模板网站推广策划案
  • 网站备案号 查询在手机上怎么制作网站
  • 苏州大型网站建设公司解决wordpress后台加载非常缓慢
  • 湖北省建设厅网站怎么打不开广州建站快车
  • 建设网站书陕西网站建设品牌公司推荐
  • 免费网站建设排行榜wordpress的文章置顶有什么用
  • 太原网站制作小程序郑州制作网站推荐
  • 用什么软件上传网站网站开发的四个高级阶段包括
  • 湖北聚四方建设有限公司网站谁给个能用的网址
  • 做普通网站公司wordpress 漏洞 修复
  • 网站商城建设的维度免费电子版个人简历可编辑