私は非常に大きな整数を分けているので、最大1kbの整数を表現するために、すでに2つの問題に遭遇しました。Python3大きな浮動小数点の除算
OverflowError: integer division result too large for a float
またはフロートのどちらか、いくつかの桁に四捨五入し、私は戻って乗算しようとしたとき、私はわずかに異なる番号を取得しています。
小数点以下20桁以上の浮動小数点数を何らかの方法で除算する方法はありますか?
smallest_floats = []
n1 = int(input())
n2 = int(input())
while n2 != 1:
smallest_floats.append(str(n1/n2))
n2 -= 1
print(min(smallest_floats, key=len))
私は可能な解決策は何とか分裂を主張することであることを考えたりしています:
len(s.split(".")[-1]) > 20
で表示桁を増やすことができますが、 'decimal'パッケージを使用してみましたか?あるいは、整数除算をしたいのであれば、 '/'の代わりに '//'を使うとどうなりますか? –
Pythonの浮動小数点は、通常の64ビット倍精度浮動小数点数です。あなたがしたいことは、多精度パッケージをインポートする必要があります。 ScipyやSympyはそういうことがあります。 – LutzL
フロート番号が必要なので、番号を再現する必要があります。 – Adminy