primzahlen(33) Sprache: Deutsch


Primzahlen Programme

----------------------------------------------------------------------[ Meta ]--

name		primzahlen
section		33
description	Primzahlen Programme
tags		programs java math
encoding	utf8
compliance	public
lang		de
attachments	prim0.png prim1.png prim2.png prim3.png prim4.png
creation	2014/09/07 23:18:33
version		1.0.0.0
download1	math_old
dlink1		http://k007.kiwi6.com/hotlink/u9a7wklkp9/mathe1.7z
ddescr1		Alte Mathe Programme
dver1		(alte)
dsize1		128
dchck1		2014/08/18 17:08:22
dchcksm1	65be4d52700c4ffe1a2baa76386a92e90a5d77bb6b604bae2add345cd5be2552
download2	pz2
dlink2		http://k007.kiwi6.com/hotlink/3idvfs9xwe/primzahlen.7z
ddescr2		Primzahlen 2
dver2		(verschiedene)
dsize2		28
dchck2		2014/08/18 17:08:22
dchcksm2	f884619b135faff91e8676e7649b4e5d6d96e77deab7fd8f6d1e62aa54cb309e
copyright	Copyright (c) 2014 Ma_Sys.ma.
		For further info send an e-mail to Ma_Sys.ma@web.de.

-----------------------------------------------------------------[ Übersicht ]--

Primzahlen sind ein faszinierendes mathematisches Phänomen. Beim Ma_Sys.ma wurde
schon früh versucht, ein Programm zum einfachen Errechnen von Primzahlen zu
schreiben. Dabei stand weder die Geschwindigkeit, noch die Suche nach besonders
großen Primzahlen im Vordergrund: Vielmehr sollte ein Programm entwickelt
werden, um eine vollständige Primzahlenliste zu errechnen und diese dann für
die Primfaktorisierung nutzen zu können.

-----------------------------------------------------------[ Mathe-Programme ]--

Der erste Ansatz datzu, wurde unter dem allgemeinen Namen "`Mathe-Programme"'
entwickelt. Das Programm dazu speicherte alle bereits errechneten Primzahlen
in einer `ArrayList` und überprüfte für jede Zahl die Teilbarkeit gegen alle
Elemente dieser Liste. War eine Zahl durch keine der Listenelemente Teilbar,
wurde sie als neue Primzahl der Liste hinzugefügt. Dieser Ansatz war äußerst
langsam und wurde mit der Zeit dank der wachsenden Liste immer langsamer.

Dafür hatte das Programm den Vorteil, dass man es einfach starten konnte, und
dabei beobachten konnte, wie die Primzahlen errechnet wurden. Es war nicht
nötig, eine Obergrenze anzugeben.

In der ersten Version dieses Programmes wurden die Zahlen als serialisiertes
Java-Objekt gespeichert und waren damit nur vom gleichen Programm aus
verwendbar.

--------------------------------------------------------------[ Primzahlen 1 ]--

Das erste Primzahlenprogramm wurde nie fertig. Es sollte ein "`Sieb"' verwenden,
um nach Zahlen zu suchen und dieses Sieb auf der Festplatte speichern, damit man
auch mit kleinem Arbeitsspeicherverbrauch nach Zahlen suchen konnte. Der
Algroithmus des Programmes ist funktionsfähig, zur Angabe der Suchobergrenze
muss das Programm jedoch neukompiliert werden.

--------------------------------------------------------------[ Primzahlen 2 ]--

Primazahlen 2 setzte um, was der Vorversion nicht gelungen war. Es ermöglichte
die Suche nach Primzahlen und konnte dabei nicht nur einen Speicher auf der
Festplatte zu Rate ziehen, sondern auch direkt den Arbeitsspeicher verwenden.

Im Folgenden ist die Programmausgabe beim Aufruf ohne Parameter angegeben.

	Prim 1.0, Copyright (c) 2011 Ma_Sys.ma.
	For further info send an e-mail to Ma_Sys.ma@web.de.
	
	USAGE: java Prim <suchen|datei-suchen|faktorisieren|ausgeben> [zahl] [datei]
	
	suchen
		zahl   Gibt an, bis wohin Zahlen gesucht werden sollen.
		datei  Gibt eine Datei an, in die die Zahlen gespeichert werden sollen.
		       Bei Endung .txt wird die Liste durch Kommata getrennt.
		       Bei Endung .dat werden die Zahlen serialisiert.
	
	datei-suchen
		       Funktioniert wie "suchen" nur dass als Arbeitsspeicher
		       eine Datei genutzt wird.
	
	faktorisieren
		zahl   Gibt die Primfaktorisierung von [zahl] aus.
		datei  Nutzt die angegebene Datei als Datenbank.
	
	ausgeben
		datei  Gibt die Primzahlenliste aus [datei] aus.
		zahl   Gibt die Primzahlen bis zu dieser Zahl aus.

Wenn man das Programm ausführt und den Speicher auf der Festplatte speichern
lässt, kann man Kopien von den Zwischenschritten anlegen und die entstehenden
Binärdaten untersuchen. Visuell kann man den Siebvorgang betrachten, wenn man
mehrere "`Zustände"' der Speicherdatei erfasst. Ein Beispiel ist im Folgenden
zu sehen.

{\img{prim0.png}{Speicherzustand 1}}

{\img{prim1.png}{Speicherzustand 2}}

{\img{prim2.png}{Speicherzustand 3}}

{\img{prim3.png}{Speicherzustand 4}}

{\img{prim4.png}{Speicherzustand 5}}

Diese Bilder wurden mit dem MDVL-Script `bin2bmp` erzeugt.


Zum Seitenanfang