Also ja...

Begonnen von Takeshi, 04. August 2006, 13:45:48

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Takeshi

Ja das stimmt schon, einige Antwortmöglichkeiten waren wirklich unglücklich gewählt.

hide

was die jetzt gegen den neuen Innenminister Friedrich Sturm laufen ist mir ein Rätsel  :??? ich finde dass er Recht hat

Takeshi

#2492
Oh, grad erst gelesen. Jap, Recht hat er. Und bei der Aussage von Wulff konnte ich auch nur den Kopf schütteln. Hab mich genau so gefragt, woher er denn das hat.
Aber ist klar, so reagieren die immer, solange man denen nicht in den Arsch kriecht. Die sollen sich damit abfinden, dass sie hier zwar leben dürfen, aber ihre Kultur und ihr Glaube deshalb nicht gleich ein wichtiger Bestandteil dieses Landes ist. Und was die sich immer aufregen. Ich mein keiner schadet ihnen hier, die können alle hier leben, in Frieden. Wenn ihnen das Land so wie es ist nicht gefällt, können sie doch in ein anderes Land gehen, das ihrer Kultur und ihren Wünschen allgemein näher kommt. Mir fällt da spontan die Türkei ein.

Ich mein ich schnapp mir ja auch nicht ein paar 100.000 Deutsche, geh mit denen in ein Land, das absolut nicht unserer Kultur entspricht und sag dann "hey, wir sind da, und wir hätten gern, dass unsere Kultur ein wichtiger Bestandteil eures Landes ist, auch wenn euch unsere Kultur stinkt!"

Aber in 100 bis 200 Jahren hat sich das sowieso gegessen, da wird Sarrazin schon Recht behalten. Daran sind wir aber auch selbst Schuld, weniger die Türken/Muslime. "Wir" lassen es ja mit uns machen.

ZitatDie Vorsitzende des liberal-islamischen Bundes, Lamya Kaddor, nannte die Worte Friedrichs eine "Ohrfeige ins Gesicht der Muslime".

Das freut mich ja, dass die das so aufgefasst haben. Meistens hat so eine Ohrfeige ja auch einen Sinn. Könnten die ja mal drüber nachdenken.

ZitatEs würden alle Fortschritte in der Islamdebatte der vergangenen Jahre negiert und die Dialogbereitschaft vieler Muslime geschwächt.

Fortschritte? Also Fortschritte seh ich sowieso gar keine. Der einzige Fortschritt bisher ist doch der, dass wir immer mehr nach geben, die uns aber kein Stück entgegen kommen. Auf den "Fortschritt" kann ich verzichten.

ZitatMan dürfe nicht zulassen, dass diese Religion automatisch mit Terrorismus in Verbindung gebracht werde.

Herzlichen Glückwunsch Herr Wullf. Sie haben nichts verstanden. Seit wann hat die Diskussion um Muslime denn was mit Terrorismus zu tun? Wenn es das mal etwas damit zu tun hatte, ist das wohl lange her. Das ist ja schon ewig nicht Kern der Diskussion.

ZitatDie muslimischen Einwanderer hätten die gleichen Rechte wie alle anderen Deutschen, da auch sie zum Aufbau des Staates beitrügen.

Haha. Und die gleichen Pflichten! Und die erfüllt der Großteil der Einwanderer anderer Nationen/Religionen ja auch. Ich bin ja dafür, dass sich alle Menschen dieses Landes (und dazu zähle ich alle Deutschen, Polen, Russen, Franzosen, Afrikaner, ...) gegen diesen Scheiß wehren.

ZitatDer Vorsitzende der Unionsfraktion im Bundestag, Volker Kauder, sagte der "Passauer Neuen Presse": "Der Islam hat unsere Gesellschaft nicht geprägt und prägt sie auch heute nicht. Der Islam gehört damit nicht zu Deutschland." Wohl aber gehörten die Muslime zu Deutschland, fügte Kauder hinzu.

Genau das trifft es auf den Punkt, so ist es.

hide

ja Muslime gehören zu dem Land (wir haben nunmal muslimische Staatsbürger), aber nicht der Islam. Wie unser Land vom Islam geprägt wurde, ist mir ein Rätsel. In Spanien mag das Thema streitbar sein, aber nicht hier.

Takeshi

#2494
Jeah, grad mal einen Primzahlenrechner programmiert. Wollte ich schon immer mal gemacht haben ;D
Jetzt muss der nur noch möglichst leistungsschonend funktionieren.

Haha ... ein Versuch die Sache schneller zu machen führte nun dazu, dass es statt 6 Sekundne 11 Sekunden dauerte. Gut, brauch ich ne andere Idee.

hide

hast du das sieb des Erasthotenes programmiert?

Takeshi

#2496
Öh kein Plan. Hab mir einfach überlegt, wie man das berechnen kann und es dann geschrieben.

Edit: Hier der Code (PHP).
$primzahlen[] = 2;
echo '2';

$ende = 250000;

$startzeit = time();
for($i = 3; $i < $ende; $i++)
{
$run = TRUE;
foreach($primzahlen as $primzahl)
{
if($run AND !($i % $primzahl))
{
$run = FALSE;
break;
}
}
if($run)
{
$primzahlen[] = $i;
echo ', '.$i;
}
}

$endzeit = time();
$dauer = $endzeit - $startzeit;
echo '<br><br>Dauer: '.$dauer.' Sekunden.';

hide

ich kenn da nur zwei arten  ;D man setzt sich ein Limit, als Start nimmt man die 2 (is ja die erste Primzahl), dann streicht man alle Zahlen die durch zwei teilbar sind, dann nimmt man die nächste nicht gestrichene Zahl nach der zwei (was dann die 3 wäre) modulo aller Zahlen bis zur gerade ausgewählten, ist nur x%x = 0, dann eine Primzahl => speichern, ist x%y=0, dann streichen, alle übrigen Zahlen die durch die Zahl gerade teilbar sind streichen und zur nächsten etc. (blöd erklärt ich weiß)

und die andere Möglichkeit wäre, ein Array mit Primzahlen und durch Vergleich eine passende rauszusuchen, wäre aber schlechter Stil  ;D

Takeshi

Die erste Methode hat den Nachteil, dass du vorher festlegen musst, bis wo hin du berechnest. Du kannst das Programm also nicht immer weiter rechnen lassen. Dann ist der Rechenaufwand da glaub ich recht hoch.

Die zweite Möglichkeit setzt ja voraus (wenn ichs richtig verstanden hab), dass man schon die Primzahlen kennt. Das wäre ja kein Berechnen von Primzahlen.

Ich hab ja jetzt einfach bei der 2 angefangen zu zählen und bei jeder nachfolgenden Zahl geguckt, ob sie durch eine Zahl außer 1 und sich selbst ohne Rest teilbar ist. Wenn nein, kommt die Zahl in das Primzahl-Array und die nächste Zahl wird geprüft.
Das geht dann schneller, wenn man von Anfang an nur durch Primzahlen teilt. Ob eine Zahl durch 6 teilbar ist, ist ja uninteressant. Wenn ja, wäre sie ja schon vorher bei der 2 und der 3 rausgeflogen.
Und wenn man halt den Rechenvorgang gleich abbricht, wenn sie durch eine Zahl ohne Rest teilbar war, gehts auch schneller.
Der Menschenverstand sagt einem ja noch, man muss nur Zahlen prüfen, die maximal halb so groß sind wie die zu prüfende Zahl selbst. Wenn man das Kriterium aber einbaut, dauert es noch länger, denn jedes mal zu pürfen, ob die Zahl, die geprüft werden soll, überhaupt klein genug ist, kostet ja auch Rechenzeit. Habs dann direkt wieder gestrichen ;D

Bei mir ist die Berechnung auch begrenzt, um halt die Zeiten messen zu können. Aber wenn man das "$i < $ende" durch "1" ersetzt, rennt der ja ewig bzw so lange, bis das Skript abbricht.

hide

#2499
bis ins unendliche laufen lassen macht ja auch nur bedingt Sinn, da die Datentypen auch Grenzen haben und die sind ziemlich schnell erreicht (einen binominalkoeffizienten zu berechen bedarf auch etwas programmiergeschick ;D), aber du hast Recht: ich muss eine Grenze vordefinieren.

Deine Methode hat den Nachteil dass du alle Zahlen durchgehen musst, ob das schneller ist weiß ich nicht, aber könnte ein Schwachpunkt sein. Beim Sieb des Erasthotenes schließt man ja schonmal pauschal alle Zahlen die durch 2 teilbar (außer der 2) sind aus, dann alle die durch drei, alle die durch 5 etc.

in welcher Programmiersprache hast dus geschrieben?

Takeshi

Klar, bis ins Unendliche geht nicht, aber bei 32 Bit Zahlen geht es immerhin bis 4.294.967.296. Da braucht der Rechner schon eine Zeit. Und ist ja nicht so, als gäbe es keine longint Variablen mit 64 Bit.
Letztendlich wollte ich ja auch nur mal aus Spaß gucken, wie schnell und einfach man sowas programmieren kann. (mir war langweilig ::))

Bei dem Programmbeispiel musst du ja auch alle Zahlen durchgehen. Hab das auf Wikipedia gefunden und im Prinzip musst du die ganzen Zahlen alle zig mal prüfen, obwohl die eigentlich schon raus sind. Wenn du alle Zahlen, die durch 2 Teilbar sind, rauswerfen willst, musst du ja direkt alle Zahlen durch 2 teilen und sehen, ob ein Rest bleibt. Ich hab sogesehen nur eine andere Reihenfolge beim Teilen. Zahlen, die durch 2 teilbar sind, fliegen bei mir ja auch direkt raus, da ich, wenn die Zahl dran kommt, als erstes die Teilbarkeit durch 2 prüfe.

Und teilst du dann durch 3, prüfst du alle Zahlen, die durch 6 teilbar sind, doppelt. Und wenn du das nicht machst, musst du zumindest pürfen, ob die Zahl schon raus ist, was die Sache auch nicht besser macht (wie bei mir mit dem bis zur Hälfte). Und dann hast du am Ende ein Array, in dem alle Zahlen sind, mit "ist Primzahl" und "ist keine Primzahl", aber eine Liste aller Primzahlen hast du da noch nicht direkt.
Ich denke diese Lösung ist für "menschennahe" Berechnung sinnvoll, für Computer aber nicht.

Steht ja da, das ist in PHP geschrieben.

RalleBert

Hab früher (ewig her) mal Programme in Basic geschrieben, auf dem Atari, 3/4 von den Sachen sind glaub ich nie fertig geworden, zuerst wegen mangelnder Erfahrung, später hatte ich diesen Computer nicht mehr und auf dem PC hab ich mich nicht mehr mit progammieren beschäftigt. Das "sinnvollste" Programm war glaub ich ein Lottozahlenzufallsgenerator, nur die Kreuze in den Schein eindrucken hab ich nicht hinbekommen ;D

- veni, vidi, ferruminavi -
- ich kam, ich sah, ich l?tete -

Takeshi

Auf dem Teil konnte man den Rechner ja noch beim Rechnen zusehen. Hier klickst du auf "berechnen" und die ersten Primzahlen bis 1000 werden sofort ausgespuckt, erst darüber merkt man überhaupt was von Ladezeiten ;D

So wirklich was Sinnvolles für den PC hab ich auch noch nie geschrieben. Das ist irgendwie auch das Problem beim programmieren Lernen. Es ist schwer ein sinnvolles Programm zu schreiben, wenn man noch nicht viel kann. Andererseits ist es schwer das zu lernen, wenn man keine sinnvolle Anwendung hat.

RalleBert

Ooch, so schlecht war der nicht, zwar nur 8MHz, aber schon 32 Bit intern/16 Bit extern. Damit wurden viele Technosongs produziert... Konnte damlas kein PC von der Stange, der Atari hatte alles an Board

- veni, vidi, ferruminavi -
- ich kam, ich sah, ich l?tete -

hide

ah da steht dein Code, den hab ich irgendwie übersehen  :??? ;D ;D

die beispiele bei wikipedia sind aber keine besonders guten, den Algorhithmus kann man durchaus etwas ausgereifter entwickeln. In Java haben wirs im 2. Semester mit einer Liste (ich glaube linkedlist) gemacht die mit jedem durchlauf verkleinert wurde.