如何将输出限制为false语句?

时间:2013-02-22 04:48:08

标签: python

在此处输入代码我的代码获取范围500-100000中的数字并测试它们的素数两次。一旦有了fermit的小定理,再次用更好的素性测试。给出的输出是在fermits中被识别为prime的每个数字,并且在它旁边,其正确的素数形式为true = prime和false = not prime例如:2753是prime True, 2767是素数真, 2777是素数真, 2779是素数假, 2789是素数真, 我需要知道的是我如何仅输出那些错误的?我无法改变我所要求的功能。

    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)

3 个答案:

答案 0 :(得分:1)

在打印之前添加此检查

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

答案 1 :(得分:0)

在你的最后一个else语句中,将exactPrimality返回给var并执行if。

.....

else:
    primality = exactPrimalityTest(n)
    if not primality:
        print n, "is prime", primality
抱歉,暂时没有使用python,但这是一般的想法。

答案 2 :(得分:-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"