• Keine Ergebnisse gefunden

2 Aufgabe 2: Primzahlen mit dem Sieb des Erathostenes

N/A
N/A
Protected

Academic year: 2021

Aktie "2 Aufgabe 2: Primzahlen mit dem Sieb des Erathostenes"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Lösungen zur Vorlesung

GRUNDLAGEN DERINFORMATIKI Studiengang Elektrotechnik

WS 02/03

AG Betriebssysteme FB3 Kirsten Berkenkötter

Lösung Praktikum 2

1 Aufgabe 1: Wert in einem Array suchen

#include <stdio.h>

int main() {

//Variablen deklarieren

//eine Variable als Zähler für die for-Schleife

//eine Variable für das Feld, mit den angegebenen Werten belegen int i;

float zahlenfeld[] = {1, 0.5, 0.25, 0.125, 0.0625};

//jetzt kann das Feld mit dem Wert 0.125 gesucht werden for (i = 0; i < 5; i ++)

{

//vergleiche den Wert im aktuellen Feld mit dem gesuchten if (zahlenfeld[i] == 0.125)

{

//wenn der Wert gefunden wurde, kann der Index ausgegeben werden //in diesem Fall ist es 3, da 0.125 der vierte Wert ist und bei 0

//angefangen wird zu zählen printf("%d\n", i);

//die Schleife kann jetzt abgebrochen werden break;

} } }

(2)

2 Aufgabe 2: Primzahlen mit dem Sieb des Erathostenes

#include <stdio.h>

int main() {

//Variablen i und j als Zähler

//Variable zaehler für die Anzahl der Primzahlen //der Zähler wird zunächst auf 0 gesetzt

int i, j, zaehler = 0;

//Variable für die Primzahlen anlegen //zahlenfeld[0] wird nicht benutzt int zahlenfeld[101];

//zuerst wird das zahlenfeld mit 1 initialisiert //die Zahlen, die keine Primzahlen sind, werden //später mit auf 0 gesetzt

for (i = 0; i < 101; i++) zahlenfeld[i] = 1;

//jetzt können die Primzahlen gesucht werden //1 braucht nicht untersucht werden!

for (i = 2; i <= 100; i++) {

for (j = i + i; j <= 100; j = j + i) {

//alle Vielfachen sind keine Primzahlen

//deshalb wird das entsprechende Feld mit 0 markiert zahlenfeld[j] = 0;

} }

//nachdem das Feld durchsucht wurde, können die Primzahlen //ausgegeben werden

//ausserdem kann die Anzahl der Primzahlen ermittelt werden for (i = 1; i <= 100; i++)

(3)

{

//jede Zahl, deren Wert nicht auf 0 gesetzt wurde, ist eine Primzahl if(zahlenfeld[i] != 0)

{

//die Primzahl wird ausgegeben und der Zähler für die Anzahl der //Primzahlen kann hochgezählt werden

printf("%d ist Primzahl\n", i);

zaehler++;

} }

//zuletzt wird die Anzahl der Primzahlen ermittelt printf("Anzahl: %d\n", zaehler);

}

Referenzen

ÄHNLICHE DOKUMENTE

Lege eine Klasse Auto an mit den folgenden Eigenschaften: Marke, Modell, Verbrauch, Tankinhalt, LeistungInKW.. Kodiere dann

[r]

Die Klasse ist so zu erweitern, dass der Baum durchlaufen werden kann (Iterator), um alle B¨ucher eines gegebenen Autors suchen zu

Damit nicht bei jeder Anfrage ein Thread erzeugt werden muss, stellen Sie einen Pool von Threads bereit, aus dem bei einer Anfrage ein Thread ausgew¨ahlt wird. Schreiben Sie als

[r]

Aufgabenstellung: Erklären Sie konkret auf das unten angegebene Beispiel bezogen, warum es sich bei der durchgeführten Umformung um keine Äquivalenzumformung handelt!. Die

Ein Punkt ist genau dann zu geben, wenn ausschließlich das laut Lösungserwartung richtige Intervall

r2 Aufgabenstellung: Geben Sie an, um welchen Faktor sich der Betrag F der Kraft ändert, wenn der Betrag der Punkt­ ladungen q1 und q2 jeweils verdoppelt und der Abstand r