我正在尝试评估一个^ n,其中a和n是有理数.我不想使用任何预定义的功能,如sqrt()或pow()
所以我试图使用牛顿方法来使用这种方法得到近似解:
3 ^ 0.2 = 3 ^(1/5),因此如果x = 3 ^ 0.2,则x ^ 5 = 3.
解决这个问题的最佳方法(没有计算器,但仍然使用基本的算术运算)可能是使用"牛顿法".用于求解方程f(x)= 0的牛顿方法是建立一个数字序列xn,其定义为将x0作为一些初始"猜测"然后xn + 1 = xn-f(xn/f'(xn)其中f '(x)是f的导数.
发表于物理论坛
该方法的问题在于,如果我想计算5.2^0.33333,我需要找到这个方程的根x^10000 - 5.2^33333 = 0.我结束了庞大的数字,并获得inf和nan错误的大部分时间.
有人可以就如何解决这个问题给我建议吗?或者,有人可以提供另一种算法来计算^ n吗?