码迷,mamicode.com
首页 > 编程语言 > 详细

关于C++中的pow小记(转)

时间:2017-04-30 20:37:03      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:c++   ace   是什么   0.00   实用   答案   log   .net   问题   

昨天在敲一个数位DP的问题,但是用到了这个坑D的问题,找了半天错,还以为又是什么奇怪的算法,结果发现思路一致,然后自己各种YY修改,最后不得不和正确答案比对,但是最后发现标准答案和自己的想法几乎一模一样,最后一个函数一个函数替换比对,发现问题竟然出在了pow函数上。

其实很早之前再A题的时候就出现过这个pow精度丢失的问题,只是很久没出现过了,出现问题之后才恍然大悟,现在记录一下,以防以后出错,也供大家借鉴。

这次问题是出现在了pow返回值和整数做运算时候丢失的精度,用一种看起来比较Low但是比较实用的方式就是在pow之后+0.5或者一个更小的数,这样在整数取整的时候就自动吧之前丢失的0.00000...1的精度补回来了,再取整就恢复出原来的精度了。

具体详见here

关于C++中的pow小记(转)

标签:c++   ace   是什么   0.00   实用   答案   log   .net   问题   

原文地址:http://www.cnblogs.com/bofengyu/p/6790236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!