Hallo und willkommen zurück.
Ich wollte dir noch einen geben Herausforderung, eine andere Aufgabe.
Offensichtlich geht das hier alles über Arrays sein.
Ich möchte, dass Sie sich mit dem Wie vertraut machen Verwenden eines Arrays, Zugreifen auf
ein Array und Erstellen eines Arrays.
Sie sollten also ein c-Programm schreiben das wird alle Primzahlen von
3 bis 100 finden.
Und wir werden es tun es sehr effizient.
Also werden wir ein wenig verwenden Algorithmus, mit dem Sie
ein Array verwenden, aber ein sehr einfaches Programm.
Es wird nur als Ausgabe angezeigt, alle Primzahlen von 3 bis 100.
Und der Grund, warum du nicht 0 machst 3 ist, weil Sie diese hart codieren werden,
es ist ziemlich einfach.
Erste 2 unsere ersten 2 Primzahlen sind 1 und 2, die nicht 0 sind.
Es wird also keine Eingabe geben zu diesem Programm nur ausgeben.
Und die Ausgabe wird sein Jede Primzahl wird durch ein Leerzeichen
in einer einzelnen Zeile getrennt.
Es ist ziemlich einfach, bis zu 100.
Sie müssen erstellen Ein Array, in dem
jede Primzahl beim Generieren gespeichert wird.
Sie können den ersten hart codieren 2 Primzahlen, die 2
und 3 im Primzahlenarray sind.
Was ich mir hier vorstellen würde, ist das Sie würden ein
Array erstellen, Sie würden es Primzahlen nennen und Sie würden nur Hardcode die ersten 2 da drin.
Und es ist wichtig, hart zu codieren sie
auch, weil der Algorithmus, den wir verwenden werden, um zu finden Primzahlen werden für
alle anderen Primzahlen verglichen, und Ich werde das gleich erklären.
Sie möchten die Schleifen verwenden für diese Zuordnung werden nur die Primzahlen
bis 100 gefunden.
Auf Anhieb sollten Sie es also tun Stellen Sie sich mindestens eine Schleife
vor, um die gefundenen Primzahlen anzuzeigen.
Das wäre also wahrscheinlich das Ende Schleife, die Schleife
am Ende Ihres Programms, die gerade durchlaufen wird das Primzahlen-Array und zeigt alles an,
was sich dort befindet.
Jetzt, wenn Sie alle Primzahlen finden Bei Zahlen bis zu 100 müssen Sie die Größe
des Arrays nicht festlegen wahrscheinlich mehr als 50, weil ich nicht glaube, dass es
mehr als 50 Prime gibt Zahlen, bis zu 100, aber Sie werden es nicht
einstellen können genau richtig, weil Sie nicht wissen, wie viele
Primzahlen es gibt.
Also würde ich sagen, wenn Sie die erstellen Primzahlen-Array, machen Sie einfach eine Größe von 100.
Sie brauchen also definitiv eine Schleife um sie am Ende auszudrucken.
Du wirst eine andere Schleife brauchen um zu versuchen, die Primzahlen zu finden.
Und Sie können die Primzahlen beliebig finden Algorithmus, den Sie wollen, aber was ich
verwenden würde, ist, dass ich so etwas verwenden würde weil es mehr Gründe gibt, ein Array zu verwenden, wenn
Sie diesen Algorithmus ausführen.
Also die Kriterien, die verwendet werden können
Eine Primzahl zu identifizieren bedeutet, dass eine Zahl als Primzahl betrachtet wird wenn es nicht gleichmäßig durch andere
vorhergehende Primzahlen teilbar ist.
Und es gibt noch mehr zu diesem Algorithmus, aber
das ist der Ausgangspunkt.
Sie möchten auch nur schauen bis zu einer bestimmten Anzahl.
Sie können also Folgendes als verwenden x Bedingung in der innersten Schleife.
Also nochmal, was du brauchst Um hier zu haben, müssen
Sie wahrscheinlich 2 Schleifen haben.
Den dritten haben wir bereits erwähnt Schleife am
unteren Rand druckt die Daten aus, aber Sie müssen habe 2 Schleifen für diese Zuordnung.
Und der Algorithmus, den ich diskutiere Hier ist ein verbesserter Algorithmus.
Deshalb möchten Sie es tun.
Nun, wenn Sie Primzahlen finden möchten auf eine andere Weise ist das in
Ordnung, solange Sie ein Array verwenden, weil die Der
ganze Zweck der Zuweisung besteht nicht darin, Primzahlen zu verstehen um zu verstehen, wie man Arrays verwendet.
Durch einen Blick auf die vorher generierte Primzahlen, die Sie zwingen, ein Array
zu verwenden, und Sie würden Speichern Sie diese Primzahl so, wie sie
wie erwähnt generiert wird.
Und der andere Weg, den Sie machen können Noch optimaler ist, dass Sie keine geraden Zahlen
betrachten möchten.
Also, wenn Sie durch jeden gehen Nummer von 3 bis 100 und Sie
überprüfen, ob das Primzahl ist, können Sie Ignorieren Sie die geraden Zahlen, da gerade
Zahlen niemals Primzahlen sein werden.
Also in der äußersten Schleife oder der In der innersten Schleife
können Sie überprüfen, ob die Primzahl durch die teilbar ist andere Primzahlen oder stellen Sie sicher, dass es nicht einmal Sie können das
überprüfen und es überspringen.
Und dann diese andere Achsenbedingung In der innersten Schleife muss sichergestellt werden, dass
der Wert von p nicht stimmt Überschreiten Sie die Quadratwurzel der Primzahlen, das ist ein anderer
Teil des Algorithmus.
Das macht also vielleicht keinen Sinn, Aber im Grunde sind dies einige der Kriterien, denen
Sie folgen sollen.
Überspringen Sie alle Überprüfungen auf gerade Zahlen. und dann besteht der Algorithmus darin, nach
vorherigen Primzahlen zu suchen die generiert wurden und auch um zu überprüfen,
ob p nicht tut oder nicht Überschreiten Sie die Quadratwurzel der Primzahlen, denn das ist eine
andere Weg, um nach einer Primzahl zu suchen.
Also musst du haben eine for-Schleife, die im Grunde von 5 bis
100 geht und dann können Sie Erhöhen Sie diesen Wert um 2, sodass Sie nur
nach ungeraden Zahlen suchen.
Und dann in einer inneren for-Schleife dich Wenn Sie dort drinnen sind,
werden Sie von 1 bis zu diesem anderen gehen wollen Der Wert p geteilt durch die Primzahl I ist größer als gleich
der Primzahl I.
Und du wirst wahrscheinlich auch machen wollen sicher, dass die Zahl nicht prim ist.
Sie möchten also a nicht überschreiten bestimmte Prüfung und dann möchten Sie auch aus der inneren Schleife
springen, wenn Sie haben tatsächlich eine Primzahl gefunden.
Und so die Art und Weise, nach der Sie suchen können Primzahl, wenn Ihre aktuelle Zahl
durch eine vorherige Primzahl teilbar ist, So können Sie sich das Primzahlen-Array ansehen.
Und wenn der Modul dafür gleich 0 ist, dann haben
Sie keine Primzahl.
Andernfalls, wenn Sie dies getan haben ganze Prüfung in dieser
gesamten Schleife und du bist schon mit da raus Das Überschreiten des
primären Sub-I ist größer als das primäre Sub-I der Quadratwurzel Ausgabe und Sie haben
tatsächlich keine Primzahl gefunden, dann bedeutet das dass Sie dann diese Primzahl zu Ihrem Primzahlen-Array hinzufügen können und dann
Drucken Sie einfach das Primzahlen-Array aus.
Der eigentliche Algorithmus tut dies also nicht scheinen so verwirrend zu sein, wie ich es mache.
Versuchen Sie erneut, Ihnen als zu geben Viele Pseudocode-Hinweise gibt es dort
möglichst mit dem äußeren für Schleife in der inneren for-Schleife.
Aber Sie müssen darauf zugreifen Arrays,
du wirst Arrays lesen, du wirst sie dir ansehen ein Array, um vorherige Werte anzuzeigen.
Es wird dich kriegen wirklich vertraut mit Arrays.
Also viel Glück und ich werde eine Lösung in der nächsten Vorlesung, die viel
sinnvoller sein wird, aber diese sind die Anforderungen und einige Treffer.
Vielen Dank.