Je pose la question à propos du problème Project Euler 27 (https://projecteuler.net/problem=27). J'ai écrit un morceau de code qui ne fonctionne pas ou qui ne fonctionne pas assez vite. Je suis novice en programmation et je ne comprends pas bien la signification de l'erreur que je reçois. Quoi qu'il en soit, la question est de savoir quels entiers $ a, b $ avec $ | a |, | b |Primes quadratiques
< 1000 $ conduisent à $ n^2 + an + b $ produisant la plus grande collection de nombres premiers consécutifs commençant par $ n = 0 $. Tout d'abord, nous remarquons que $ b $ doit être lui-même premier pour que le terme $ n = 0 $ soit premier et commence la chaîne. J'ai donc écrit un morceau de code qui boucle b sur toutes les valeurs principales possibles puis vérifie chaque entier $ -1000 < un < 1000 $ et mesure la longueur de la chaîne des nombres premiers consécutifs produits. Je l'ai inclus ci-dessous:
n=int(input("Set a bound for range of a and b: "))
def is_prime(n):
if n==1:
return False
elif n==2 or n==3:
return True
elif (n % 2 == 0) or (n % 3 == 0):
return False
elif all(n % i != 0 for i in range(2, ceil(n**0.5+1))):
return True
else:
return False
def seive(n):
primes=[]
for i in range(n):
if is_prime(i)==True:
primes.append(i)
for j in primes: #j can't be allowed to be negative since when m=0 (the first term), we must have m**2+k*m+j prime. Therefore j must be chosen from primes
for k in range(-n,n,1):
chain=[]
for m in range(0,n):
while is_prime(m**2+k*m+j) == True and m**2+k*m+j>0:
chain.append(m**2 + k*m + j)
details = [j,k,len(chain)]
return details
print(seive(n))
Quelqu'un pourrait-il s'il vous plaît expliquer soit ce que je l'ai fait mal et me donner un indice sur la façon de le faire fonctionner? Merci!
Dans quelle langue est-ce écrit? Quelle est l'erreur que vous obtenez? –
Euler vous demande de trouver deux coefficients 'a' et' b'. vous feriez bien d'utiliser ces deux noms de variables pour nous aider à comprendre votre code. Deuxièmement, relisez la question et vérifiez très attentivement ce qu'ils vous demandent réellement. – rossum