0

ここにコードを入力してください私のコードは 500 から 100000 の範囲の数字を取り、それらの素数を 2 回テストします。1 回はフェルミットの小定理を使用し、もう 1 つはより優れた素数性テストを使用します。与えられた出力は、フェルミットで素数として識別されたすべての数値であり、その隣には、true = 素数、false = 素数ではないという形式の正しい素数が含まれます。たとえば、2753 は素数 True、2767 は素数 True、2777 は素数 True、2779 です。素数は False、2789 は素数 True、私が知る必要があるのは、偽のものだけを出力する方法です。呼び出した機能を変更できません。

    from exactPrimalityTest import *
    import random
    from fastPowerMod import *
    for n in range(500,100001):
        a = random.randint(1,n-1)
        for i in range(10):
            if (fastPowerMod(a,n-1, n) != 1):
                break
        else:
            print n, "is prime", exactPrimalityTest(n)
4

3 に答える 3

1

印刷する前にこのチェックを追加してください

res = exactPrimalityTest(n)
if not res:
    print n, "is prime", res
于 2013-02-22T04:52:02.120 に答える
0

最後のelse:ステートメントで、exactPrimality returnをvarに割り当て、ifを実行します。

....。

else:
    primality = exactPrimalityTest(n)
    if not primality:
        print n, "is prime", primality

申し訳ありませんが、しばらくの間Pythonを使用していませんが、それが一般的な考え方です。

于 2013-02-22T04:55:37.920 に答える
-1
from exactPrimalityTest import *
import random
from fastPowerMod import *
for n in range(500,100001):
    a = random.randint(1,n-1)
        for i in range(10):
        if (fastPowerMod(a,n-1, n) != 1):
            break
    else:
        if exactPrimalityTest(n) == False:
            print n, "is prime False"
于 2013-02-22T04:51:58.633 に答える