Jackiesteed

www.github.com/jackiesteed

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月21日

摘要: 其中a, b 为整型, 1<=n <= 10.思路是a^b会很大,那么如果只需要前n位,那么我们可以把a^b除以10^x(10^x同样很大),这样就可以达到一个可以使用double(或long double)表示的数据p,p的前n位会与a^b的前n位相同.那么当a^b的位数<=n,直接求解即可.当a^b位数>n时,取m = log10(a^b) = b*log10(a),m可以使用double表示.a^b约等于pow(10.0,m).但是对于m的整数部分x,10^x是10000形式,对我们所求的结果没有意义,那么可以只使用m的小数部分.设m=x+y(x为整数部分,y为小 阅读全文
posted @ 2011-09-21 13:01 Jackiesteed 阅读(192) 评论(0) 推荐(1) 编辑