首页 > 代码库 > 关于C++中的pow小记(转)
关于C++中的pow小记(转)
昨天在敲一个数位DP的问题,但是用到了这个坑D的问题,找了半天错,还以为又是什么奇怪的算法,结果发现思路一致,然后自己各种YY修改,最后不得不和正确答案比对,但是最后发现标准答案和自己的想法几乎一模一样,最后一个函数一个函数替换比对,发现问题竟然出在了pow函数上。
其实很早之前再A题的时候就出现过这个pow精度丢失的问题,只是很久没出现过了,出现问题之后才恍然大悟,现在记录一下,以防以后出错,也供大家借鉴。
这次问题是出现在了pow返回值和整数做运算时候丢失的精度,用一种看起来比较Low但是比较实用的方式就是在pow之后+0.5或者一个更小的数,这样在整数取整的时候就自动吧之前丢失的0.00000...1的精度补回来了,再取整就恢复出原来的精度了。
具体详见here
关于C++中的pow小记(转)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。