Flavius Josephus – Verräter oder Held ?

Die Frage , wie Flavius Josephus,  der Kommandant der Festung Jotapata , damals noch יוסף בן מתתיהו‎ , dem laut Überlieferung kollektiven Suizid entkam , wird wohl niemals mit Sicherheit beantwortet werden können. Mit dem Aufkommen von Computern benutzten Programmierer  die “  Flavius  Josephus“ Legende um Programmiertechniken zu demonstrieren .

Ein Beispiel aus einem Standardwerk, in der Programmiersprache C++  erstellt , finden sie weiter unten . Die Fehlerfreiheit des Codes kann  jedoch nicht garantiert werden !

Weitere Quellcodes zum “ Josephusrätsel “ , gleichfalls in C++ geschrieben, sind unter diesen Links verfügbar  :
http://users.cis.fiu.edu/~weiss/adspc++2/code/Josephus.cpp

http://www.dreamincode.net/forums/topic/191266-c-josephus-2/ sowie an vielen anderen Stellen .

C/C++   Compiler/ Linker  verschiedener Plattformen sind im Netz meist kostenlos erhältlich !!

Und hier noch  ein  Beispiel für ADA (1) : http://rosettacode.org/wiki/Josephus_problem

Zitat aus : C/C++ – Professionell programmieren
Autor : Dirk Louis
Markt + Technik Verlag 2002
ISBN : 3- 8272 – 6335 – 2 :

“..von dem jüdischen Geschichtsschreiber Flavius Josephus (geboren um 37 n. Chr.) ist überliefert, dass er während der jüdischen Aufstände gegen Rom (70 n. Chr.) mit 39 weiteren Juden in eine Höhle eingeschlossen wurde. Allen drohte die Sklaverei, und um dieser zu entgehen, entschieden sie sich für den kollektiven Freitod. Sie wollten sich in einem Kreis aufstellen und dann sollte jeder Siebente getötet werden, bis nur noch einer übrig blieb. Dieser sollte dann Selbstmord begehen.
Josephus stellte sich so auf, dass er als Letzter übrig blieb. Und da die Geschichte überliefert wurde und sich Josephus zum hellenistischen Römer wandelte, können wir davon ausgehen, dass Josephus den letzten Schritt nicht getan hat.
Es steht uns nicht an, über Josephus Verfehlung zu urteilen, aber wir sollten uns fragen, an welcher Position wir uns aufgestellt hätten?

/* Josephus.cpp Lösung des Josephus-Problems */
#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
void anleitung()
{
printf(“Algorithmus zur Loesung des Josephus-Prob!emsnn”); printf(“n”);
printf(“Das Programm fragt von Ihnen die Gesamtzahl der n”); printf(“teilnehmenden Personen sowie die Laenge des Abzaehlreims”);
printf(“zaehlreims ab.n”);
printf(“Dann werden der Reihe nach die Positionen ausgeben”);
printf(“geben, die herausfallen. nn”);
printf(“Zuletzt wird die Position ausgegeben, die ” “uebrig bleibt.nn”);
}
int main() int gesamtzahl, Silben,i;
int *pO; // Zeiger auf vollst. Personenkreis
int *p; // Zeiger auf aktuelle Person
int a[100];

anleitung();
printf(“Geamtzahl der Personen: “);
scanf(“%d”,&gesamtzahl);
printf(“Anzahl der Silben in Abzaehlreim: “);
scanf(“%d”,&siIben);
/* reserviere Feld für die Personen */
/* jede Person ist durch einen int-Wert vertreten, der */
/* den Abstand zu seinem Nachfolger angibt */
p0= (int*) malloc(gesamtzahl*sizeof(int));

// anfangs ist der Abstand zwischen den Personen 1
p=p0;
for (i=1; i <=gesamtzahl -1; i++)
{
*p=1;
p++;
}
// Abstand vom Letzten zum Ersten ist 1-n !!
*p = p0-p;
// Jetzt beginnt das Auszaehlen
while (*p!=0
{
// Abzaehlreim aufsagen
for ( i= 1; i<silben-1;i++)
{
p+=*p;
}
printf(” Ausgeschieden ist : %d n“,p-p0+1+*p);
p+=(p+(*p)); // Ueberspringt eine Person( ausscheiden)
printf(” Ausgeschieden ist : %d n“, p-p0+1+*p);
}
printf(” Uebrig ist %d n“,p-p0+1);
free(p0);
return 0;
}

Das Programm illustriert noch einmal den Umgang mit Zeigern. Wenn Sie es ausführen und mit einer Gesamtzahl von 40 Personen und einem Abzählreim von 7 Silben starten, verrät es Ihnen auch, an welcher Position sich Josephus aufgestellt hat. Was es uns allerdings nicht verrät, ist, wie Josephus so schnell herausfinden konnte, an welcher Position er sich aufstellen musste…” (Zitatende )

(1) Programmiersprache , benannt nach Lady Ada Lovelace

Links :

Flavius Josephus ( Wikipedia )

Flavius Josephus: Über den jüdischen Krieg – (PDF, Uni Bochum )

Flavius Josephus Werke: Altertümer, Krieg, Apion, Leben. Übersetzt von Heinrich Clementz  ( archive.org)

יוסף בן מתתיהו

תולדות מלחמת היהודים עם הרומאים

נגד אפיון

p.k.

HOME