パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

1行で ** を使わずに平方根、立方根を計算する関数 Python3

2021-06-16 | 速攻で言語マスターしてみませんか
def root(n, rec=100, a=1, c=1):return a if rec == 0 else root(n, rec - 1, a, c/10) if (a+c) * (a+c) > n else root(n, rec - 1, a + c, c)
def cubic_root(n, rec=100, a=1, c=1):return a if rec == 0 else cubic_root(n, rec - 1, a, c/10) if (a+c) * (a+c) * (a+c) > n else cubic_root(n, rec - 1, a + c, c)

print(root(2), 2**0.5)
print(root(3), 3**0.5)
print(cubic_root(2), 2**(1/3))
print(cubic_root(3), 3**(1/3))
 
 
こんな感じで少しずつまとめてます。
 
作ってみたくなったので作ってみました。
精度は**の方が100兆分の1ほど高いです。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。