gpt4 book ai didi

algorithm - 有什么方法可以不使用循环来计算 1.01^x,仅使用整数 add、mul、sub、div、exp?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:38 24 4
gpt4 key购买 nike

有没有什么方法可以实现 Uint256 -> Uint256 函数 f(x) = floor(1.01 ^ x),只使用常量操作 add, mul, sub, div, exp, 都只能操作整数?

最佳答案

使用牛顿二项式级数

(1+h)^x = 1+x*h + x*(x-1)/2*h^2 + x*(x-1)*(x-2)/6*h^3 + ...
= 1 + x*h*(1+(x-1)*h/2*(1+(x-2)*h/3*(1+...)))

要获得终止计算,首先必须减少 x ,我认为是 log(2)/log(1.01) 的倍数.

本质上,在中间结果中你必须使用某种定点算法。

关于algorithm - 有什么方法可以不使用循环来计算 1.01^x,仅使用整数 add、mul、sub、div、exp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40901354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com