2012-05-07 4 views
-4

私はpの数百万の値のために実行する必要がある式((1 -/+ p)/6) % pを持っています。異なるルーツを持つ方程式を計算するためのpythonの方法は何ですか?

私は現在持っているコードは、予想通り、私は何を知りたいのですが

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

Iを取得する方法である

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 

私に与え

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 

です実際に何も試していない、私は発電機を使用するアイデアを投げた。しかし、パフォーマンスの問題にぶつかるかどうかは分かりません。

+1

最初の番号を2回印刷しますか?それから、二度入れてください!ジェネレータとは何が関係していますか? – rodrigo

+0

@rodrigo私は数百万回それを実行するつもりです...階乗は数百万回後に高価になる、階乗はそこにはありません。説明のためにここにしかありません。私はそれを削除します。 – John

+0

あなたはどのようにそれらの「解決策」を見つけましたか? – Avaris

答えて

3

これはあなたの探しているものですか?

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 

まだ実際に試したことがないと思われる場合は、まだ試してみてください。あなたが望むものを生み出すものを手に入れてください。それから発電機や性能の問題を心配してください。

編集:

あなたは、実質的にあなたの質問を変更し、そしてあなたはもう探しているものは明らかではありません。あなたが根の発見を探しているなら、here is some code

Scipyには、多くの根の発見方法もある。

方向を選択する - 実行中のものを取得する - それでも遅すぎる場合は試してみてください。

+5

あなたはこの答えのための 'テレパシー'バッジを取得する必要があります –

関連する問題