python求e^x,计算e^x的最快方法?
計(jì)算e^x的最快方法是什么,給定x可以是浮點(diǎn)值。在
現(xiàn)在我用python的數(shù)學(xué)庫來計(jì)算這個(gè),下面是完整的代碼,其中result = -0.490631 + 0.774275 * math.exp(0.474907 * sum)是主邏輯,rest是問題所需的文件處理代碼。在import math
import sys
def sum_digits(n):
r = 0
while n:
r, n = r + n % 10, n // 10
return r
def _print(string):
fo = open("output.txt", "w+")
fo.write(string)
fo.close()
try:
f = open('input.txt')
except IOError:
_print("error")
sys.exit()
data = f.read()
num = data.split('\n', 1)[0]
try:
val = int(num)
except ValueError:
_print("error")
sys.exit()
sum = sum_digits(int(num))
f.close()
if (sum == 2):
_print("1")
else:
result = -0.490631 + 0.774275 * math.exp(0.474907 * sum)
_print(str(math.ceil(result)))
result的值是曲線方程(這是編程問題的解決方案),我使用自己的數(shù)據(jù)集從{}導(dǎo)出。在
但這似乎沒有通過評(píng)估的標(biāo)準(zhǔn)!在
我也嘗試過牛頓-拉斐遜方法,但是大x的收斂性導(dǎo)致了問題,除此之外,計(jì)算自然對(duì)數(shù)ln(x)又是一個(gè)挑戰(zhàn)!在
我沒有任何語言限制,所以任何解決方案都是可以接受的。另外,如果python的數(shù)學(xué)庫如一些評(píng)論所說是最快的,那么誰能對(duì)這個(gè)程序的時(shí)間復(fù)雜性和執(zhí)行時(shí)間,簡言之就是程序的效率有一個(gè)深入的了解嗎?在
總結(jié)
以上是生活随笔為你收集整理的python求e^x,计算e^x的最快方法?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5工具汇总
- 下一篇: websocket python爬虫_p