| Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann. |
Diskussion: Primzahlen mit versch. Tests im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Anzeige Zitat: Original von Elderan Bei deinem Schleifendurchlauf würde also 30000 mal neuer Speicher reserviert, und das Array würde 30000 ...
![]() |
| | #16 (permalink) | |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 442 | Anzeige Zitat:
Code: bitmuncher@deepthought:~$ cat test.php
<?
for($i=0; $i<=30000; $i++) {
$meinarray[$i] = '';
}
?>
bitmuncher@deepthought:~$ time php test.php
real 0m0.093s
user 0m0.080s
sys 0m0.004s
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ | |
| | |
| | #17 (permalink) | |
| Registriert seit: 02.02.07 ![]() Likes: 0 | Zitat:
Code: my2cent@hover:~$ nice -20 ./prim.php Leeres Array bis 1000000 erzeugt: : 2.400700 Sek. (2.400 ?s pro Element) Primzahlen bis 1000000 berechnet: : 2.077223 Sek. 78498 Primzahlen gefunden PHP-Code: | |
| | |
| | #18 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, mal zum vergleich: Leeres Array in C# mit 1 Mio. Elementen: Zeitspanne nicht messbar bei höchster Genauigkeit unter Windows (also unter 0,01 Sekunden) Array mit Zahlen 0 - 1 Mio: 0 Ticks oder 156250 Ticks was ca. 0,015 Sek entspricht*. Genauer gings leider nicht. * Durch 1000 mal ausführen des Tests kam ich auf 0,013 Sekunden pro Erstellung des Arrays mit Zahlen von 0 - 1 Mio.. |
| | |
| | #19 (permalink) |
| Registriert seit: 10.04.07 ![]() Likes: 0 | Hi! @ Indi und andere: Hat jemand von euch mal so einen 8/30-Eratosthenes implementiert? Das Auslassen der geraden Zahlen ist ja noch einfach (mein Delphi-Sieb schafft damit Primzahlen bis 1 Mio in 7 ms, ich verwende TBits), aber wenn ich versuche, Vielfache von 3 und 5 zu überspringen, gibt es beim Ausstreichen immer Murks oder die Rechnung wird so umständlich, daß das Programm langsamer wird. Einen hübschen Algo hierzu würde ich gern mal sehen! |
| | |
| | #20 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | hier gibt es was: [link] Project Euler - Programmieraufgaben (zusammenzählen aller Primzahlen bis 1Mio mit Erastotheles-Algorithmus: ca. 85ms auf einem alten P4). Ob diese Umsetzung in der vorhandenen Form Dir was bringt, sei aber dahingestellt ![]() Allerdings, wenn Du den Code postest, könnte man nach dem Fehler suchen
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #21 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, für das Sieb findest du hier grundlegende Überlegungen, aber hier werden weitere Überlegungen zur Optimierung angestellt. Wie du am Diagramm ganz unten sehen kannst, dauert das Außlassen von z.B. 2 und 3 länger als alle Zahlen zu verwenden. Erst ab den Zahlen 2-7 bekommst du einen Geschwindigkeitsvorteil, der bei 2-13 maximal ist (zumindest dort). |
| | |
| | #22 (permalink) |
| Member of Honour ![]() Registriert seit: 02.10.01 ![]() Likes: 0 | @Tara: Ja, hatte ich implementiert. Allerdings nicht mit einem speziellen Algorithmus. Das Schema wiederholt sich praktisch immer nach allen 30 Zahlen. Einmal ist es die zweitfolgende Zahl die geprüft werden soll, dann die drittfolgende Zahl oder ähnlich. Kann man sich ganz leicht für einen 30er-Block raussuchen, welche Reihenfolge man verwenden muss. Kann man dann in ein Array speichern zb. |
| | |
| | #23 (permalink) |
| Registriert seit: 10.04.07 ![]() Likes: 0 | Hi! Diese Informatikjahr-Seite ist ja wirklich toll, nicht nur zum Thema Eratosthenes. Alles schön genau erklärt, und auch Nicht-Informatiker-kompatibel! Nur gut daß ich sie zu Beginn meiner Überlegungen noch nicht kannte, das hätte ja jegliches Nachdenken meinerseits abgewürgt! Mein eigenes Delphi-Programm sieht so aus: Code Mit den Infos von dieser Seite versuche ich mal, was besseres draus zu machen. Danke! @ Indi: Das Schema ist ja wirklich überichtlich, habe es mir gerade aufgemalt. edit: Hab noch schnell den Zugriff auf die Zahlen ergänzt, so daß es Euler10 rechnet. Primzahl 2 muß separat behandelt werden. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Primzahlen | T1G3R | Cryptography & Encryption | 3 | 31.10.08 13:08 |
| [c++] Primzahlengenerator: Ganzzahlige primzahlen | _fux_ | Code Kitchen | 15 | 17.09.08 21:47 |
| Script für automatische Tests erstellen?? | ecologys | Code Kitchen | 0 | 29.06.04 13:46 |
| 2 versch. versionen von md5? | immado | Cryptography & Encryption | 5 | 18.04.04 17:06 |
| Tests von Testreich.com | kressi | Umfragen | 12 | 18.12.03 15:42 |