计算具有不同根的方程的python方法是什么?

计算具有不同根的方程的python方法是什么?,python,math,Python,Math,我有一个等式((1-/+p)/6)%p,我需要运行几百万个p 我目前拥有的代码是 primes = [5,7,11,13,17,19,23,29,31,37,41,43,47, 53,59,61,67,71,73,79,83,89,97] if __name__ == "__main__": for p in primes: print ((1 - p)/6) % p, ((1 + p)/6) % p 正如所料,这给了我 4 1 6 1 9 2

我有一个等式
((1-/+p)/6)%p
,我需要运行几百万个
p

我目前拥有的代码是

primes = [5,7,11,13,17,19,23,29,31,37,41,43,47,
          53,59,61,67,71,73,79,83,89,97]

if __name__ == "__main__":

    for p in primes:

        print ((1 - p)/6) % p, ((1 + p)/6) % p
正如所料,这给了我

4 1
6 1
9 2
11 2
14 3
16 3
19 4
24 5
26 5
31 6
34 7
36 7
39 8
44 9
49 10
51 10
56 11
59 12
61 12
66 13
69 14
74 15
81 16
我想知道的是如何获得

1
6
2
11
3
16
4
5
26
31
7
36
8
9
10
51
56
12
61
66
14
15
81

我还没有真正尝试过任何东西,我已经反复考虑过使用发电机的想法。但是,在这样做的过程中,我不确定是否会遇到性能问题。

这就是您想要的吗

for p in primes:
    r1=f(p - 4) % p
    r2=((1 - p)/6) % p
    if r2==r1:
        print r1, r2
    else:
        print r1, ((1 + p)/6) % p   
当你说你还没有真正尝试过任何东西时,不要尝试优化它!只需要得到一些你想要的东西——然后担心使用生成器或性能问题

编辑:

你实质性地改变了你的问题,现在不清楚你在寻找什么。如果您正在寻找根查找

还有许多根查找方法


选择一个方向——运行一些东西——如果速度太慢,则尝试修复它。

是否要将第一个数字打印两次?那就放两次吧!它和发电机有什么关系?@rodrigo我要运行几百万次。。。阶乘在几百万次之后变得昂贵,阶乘就不存在了。它现在仅用于说明目的。我将删除它。您是如何找到这些“解决方案”的?我们不知道您为什么要从每一对中选择一个或另一个答案。
print
ing在计算上或多或少都很昂贵。你应该避免打印几百万个值,只保存你希望从这个程序中获得的信息——稍后打印出来。这个答案你应该得到一个“心灵感应”徽章