Skip to content

speters.org

all t3h ev1l things that you can imagine

Menu
  • About
  • impressum
Menu

Goldbachsche Vermutung – 3

Posted on 2012-05-28 by serge

Eines wunderschönen Mittags unterhielt ich mich mit DEM Meisterprogrammierer und Architekt unserer Firma, Harmen, bezüglich der Prüfung der ungeraden Zahlen auf Primeigenschaften. Seine Idee war, daß ich die ungeraden Zahlen nur gegen die bereits errechneten Primzahlen prüfen müßte. Und da hat er Recht!

Jede andere ungerade Zahl (keine Primzahl) wäre doch eigentlich nur noch der Multiplikator zweier Primzahlen. Das ist doch schon mal ausgezeichnet, weniger Zahlen zum durchlaufen. Bei 1000 Zahlen sind es anstatt 499 nur noch 168, bei einer Million nur noch 78498. Perfekt!

Wenn man das jetzt weiter denkt, könnte man argumentieren, daß man nur gegen Primzahlen prüfen sollte, die maximal die Quadratwurzel der zu prüfenden ungeraden Zahl groß sind. Das macht aus folgendem Grund Sinn:Ist die zu prüfende ungerade Zahl keine Primzahl, wäre sie spätestens mittels x*y bis zu ihrer Quadratwurzel gefunden worden. Hat man noch nichts gefunden, ist es eine Primzahl.

Beispiel:

Zu prüfenden Zahl: 21
Quadratwurzel aus 21: 4.58
Teiler durch Primzahlen: 21 / 1 = 21, 21 / 3 = 7 (Teiler gefunden, keine Primzahl)

Zu prüfenden Zahl: 23
Quadratwurzel aus 23: 4.8
Teiler durch Primzahlen: 23 / 1 = 23, 23 / 3 = 7.67 (Teiler nicht gefunden, Primzahl)

Noch mehr Freude herrschte, als dies meinen Kopf durchstreifte. Prompt wurde es in meinen Code implementiert. Mit Erschrecken stellte ich Fest, dass die Berechnung bis zu einer Million plötzlich auf 9 Minuten stieg. Seltsam, sollte doch jetzt noch schneller sein, weil bei 1000 Zahlen (Quadratwurzel = 31,6) nur noch gegen 11 Zahlen geprüft werden müssten. Bei einer Million (Quadratwurzel = 1000) nur noch gegen 168 anstatt 78498 Zahlen.

Nach Geschwindigkeitsmessungen der for-Schleife bis zu einer Million (for (i = 0; i < 1000000; i++)) und der Quadratwurzel von einer Million (sqrt(1000000)) hat sich herausgestellt, dass die Quadratwurzel Funktion sqrt ca. 15 Mal langsamer ist als die unnötig in die Länge gezogene for-Schleife.

Nun gilt es auch noch nach einer schnelleren Methode zu suchen eine Quadratwurzel ziehen zu können. What a pitty :-/

Categories

  • bike
  • c0de
  • cigars
  • followerpower
  • lecker
  • nöt züri
  • OPs
  • serge in danger
  • sinnfrei
  • sport
  • züri

Comments

  • enkei on men’s room
  • serge on delete last 3 files
  • enkei on delete last 3 files
  • serge on norman antivirus + eclipse + heap space
  • serge on heidelbeer muffins

Blogroll

  • blafasel.org
  • floriankohl.de
  • ichundderbaer.de
  • kunkelundkohl.de
  • revista verlag

Archives

  • February 2024 (1)
  • July 2018 (1)
  • June 2018 (2)
  • May 2018 (1)
  • April 2018 (2)
  • October 2017 (1)
  • September 2017 (4)
  • August 2017 (1)
  • July 2017 (1)
  • June 2017 (5)
  • May 2017 (2)
  • October 2013 (2)
  • September 2013 (1)
  • August 2013 (2)
  • June 2013 (1)
  • May 2012 (1)
  • February 2012 (2)
  • May 2011 (1)
  • September 2010 (2)
  • August 2010 (2)
  • April 2010 (2)
  • March 2010 (1)
  • February 2010 (1)
  • October 2009 (2)
  • August 2009 (1)
  • June 2009 (1)
  • August 2008 (2)
  • July 2008 (2)
  • June 2008 (2)
  • April 2008 (5)
  • July 2007 (3)

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
May 2025
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  
« Feb    
© 2025 speters.org | Powered by Minimalist Blog WordPress Theme