by Anonymous » 23 Feb 2025, 17:33
Ich möchte wissen, wie viele Möglichkeiten eine bestimmte positive gleiche Zahl als Summe von zwei Primzahlen geschrieben werden kann. < /p>
Im Moment habe ich diesen Code : < /p>
Code: Select all
n = int(input(">"))
def genprimes(n):#generate primes from 2 to n
primes = []
for i in range(2,n):
prime = True
for a in range(2,i):
if i % a == 0:
prime = False
if prime == True:
primes.append(i)
return primes
pairs = []
primes = genprimes(n)
for prime1 in primes:
for prime2 in primes:
if prime1 + prime2 == n and [prime1,prime2] not in pairs and [prime2,prime1] not in pairs:
pairs.append([prime1,prime2])
print(len(pairs))
Es funktioniert, aber es wird etwas langsam, wenn n über 10.000 ish steht. Kann jemand eine effizientere Möglichkeit vorstellen, diesen Wert zu finden, damit er schnelle Ergebnisse für hohe Werte erzielt?
Ich möchte wissen, wie viele Möglichkeiten eine bestimmte positive gleiche Zahl als Summe von zwei Primzahlen geschrieben werden kann. < /p>
Im Moment habe ich diesen Code : < /p>
[code]n = int(input(">"))
def genprimes(n):#generate primes from 2 to n
primes = []
for i in range(2,n):
prime = True
for a in range(2,i):
if i % a == 0:
prime = False
if prime == True:
primes.append(i)
return primes
pairs = []
primes = genprimes(n)
for prime1 in primes:
for prime2 in primes:
if prime1 + prime2 == n and [prime1,prime2] not in pairs and [prime2,prime1] not in pairs:
pairs.append([prime1,prime2])
print(len(pairs))
[/code]
Es funktioniert, aber es wird etwas langsam, wenn n über 10.000 ish steht. Kann jemand eine effizientere Möglichkeit vorstellen, diesen Wert zu finden, damit er schnelle Ergebnisse für hohe Werte erzielt?