2

複素数 c が z n+1 = z n 2 + c として定義されるマンデルブロ集合にあるかどうかをテストする関数を作成する必要があります。紛らわしい場合は、n の値を添え字で示します。この関数は、変数 c (0 + 0j の形式の複素数) と n (反復回数) を受け入れます。c がセット内にあるかどうかを確認するには、z = z**2 + c > 2 をテストする必要があります。> 2 の場合は false を返す必要があります。これで、c = 0 + 0j および n = 25 で True になることがわかりました。しかし、n の値が非常に小さい場合にのみ真となることができます。別の方法で何をする必要がありますか。

def inMSet(c,n):
    for x in range(0, n):
        z = n**2 + c
        if abs(z) > 2:
            return False
        else:
            return True 
4

1 に答える 1

2

定義には、で始まる反復式z=0があります。

def inMSet(c,n):
    z = 0
    for x in range(0, n):
        z = z**2 + c
        if abs(z) > 2:
            return False
    return True 

>>> inMSet(0+0j,25)
True
于 2012-10-27T09:37:18.843 に答える