Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
  • 3 uker senere...

Jeg har et forslag til konkuranse.

 

Hva om vi ser hvem som klarer å lage den raskeste primtall finneren?

 

F.esk at vi velger et maxtall også ser vi hvem som klarer å finne alle primtallene mellom 0-maxtallet raskest. F.eks 0-10000

 

Noen som blir med?

Lenke til kommentar
Gjest Slettet-8fx0y6VV

Her er mitt forslag:

 

Skjult tekst: (Marker innholdet i feltet for å se teksten):

def is_prime(n):
 small_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,
                 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
 
 if n == 0:
   return False
 elif n == 1:
   return False
 
 for prime in small_primes:
   if n == prime:
     return True
   elif n % prime == 0:
     return False
 return True
 
def find_primes(n, m):
 li = []
 __numbs__ = range(n, m)
 
 # if the program have to check enough numbers it want to opimize it's
 # code with psyco.
 if len(__numbs__) > 5500:
   import psyco
   psyco.profile()
 
 for n in __numbs__:
   if is_prime(n):
     li.append(n)
 
 return li

Endret av rapt0r
Lenke til kommentar

Her er mitt forslag, men det er ikke mye vits. Siden det er syyyyykt mye tregere enn rapt0r sitt. :p

Skjult tekst: (Marker innholdet i feltet for å se teksten):

def findPrimeNumbers(endnumber):

   primenumbers = range(2, endnumber + 1)
       
   for number in primenumbers:    
       for i in range(2, number):                                       
           if number%i == 0:                                            
               primenumbers = [p for p in primenumbers if p != number]
               break
                   
   return primenumbers

Endret av FraXinuS
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...