Pythonで平方根(ルート)の精度を上げる方法-パナソニックプロコン
この記事では、Pythonで平方根の計算の精度を上げる方法を記します。
Pythonで平方根の計算をただすること自体は難しくありません。
例えば以下のように”**”を使う方法や
print(2**0.5) #1.4142135623730951
numpyを用いて求める方法もあります。
import numpy as np print(np.sqrt(2)) #1.4142135623730951
しかし、これらの計算精度はあまりよくなく、以下のような高い精度を求められる問題を解くことができません。
atcoder.jp
Pythonではdecimalを使うことで楽に高い精度を出すことができます。
from decimal import Decimal Decimal('2')**Decimal('0.5') #Decimal('1.41421356237309504880168872421')
float型で渡してしまうとすでに精度が悪い状態で渡されてしまうためDecimalに渡す値は文字列にすることに注意しましょうね。
おわり。