首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我的输出限制为错误的语句?

如何将我的输出限制为错误的语句?
EN

Stack Overflow用户
提问于 2013-02-22 12:48:08
回答 3查看 67关注 0票数 0

enter code hereMy code接受500-100000范围内的数字,并对它们进行两次质数测试。一次使用费米特的小定理,另一次使用更好的素性测试。给出的输出是每个在受精中被标识为素数的数字,在它旁边,它的正确的素性以true=prime和false=not素数的形式表示,例如:2753是素数真,2767是素数真,2777是素数真,2779是素数假,2789是素数真,我需要知道的是我如何只输出那些为假的数?我不能更改我调用的函数。

代码语言:javascript
复制
    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)
EN

回答 3

Stack Overflow用户

发布于 2013-02-22 12:52:02

打印前添加此检查

代码语言:javascript
复制
res = exactPrimalityTest(n)
if not res:
    print n, "is prime", res
票数 1
EN

Stack Overflow用户

发布于 2013-02-22 12:55:38

在最后一条else:语句中,将exactPrimality返回值赋给一个变量并执行if。

.

代码语言:javascript
复制
else:
    primality = exactPrimalityTest(n)
    if not primality:
        print n, "is prime", primality

很抱歉,我已经有一段时间没有使用python了,但这是一般的想法。

票数 0
EN

Stack Overflow用户

发布于 2013-02-22 12:51:59

代码语言:javascript
复制
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"
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15017039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档