s n h m r u
i

Übungen

Aufgabe 1: Effizienz untersuchen

Betrachte die folgenden Python-Programme zum Potenzieren:

Programm 1:

def pot(x, n):
    p = 1
    i = 0
    while i < n:
        p = p * x
        i = i + 1
    return p

Programm 2:

def pot(x, y):
    p = 1
    while y > 0:
        if y % 2 == 1:
            p = p * x
        x = x * x
        y = y // 2
    return p

Welcher zugrunde liegende Algorithmus ist effizienter? Untersuche dies mit Hilfe von Zählvariablen und Laufzeitmessungen.

Aufgabe 2: Effizienz verbessern

Betrachte den folgenden Algorithmus zum Primzahltesten:

Struktogramm zum Primzahltest

Warum ist das hier benutzte Verfahren nicht sehr effizient?

Wie könnte man den Algorithmus effizienter gestalten?

Suche

v
2.1.3.2.5
dev.inf-schule.de/algorithmen/grundlagen/eigenschaften/effizienz/uebungen
dev.inf-schule.de/2.1.3.2.5
dev.inf-schule.de/@/page/nYAGhdNbXN3yJ53Z

Rückmeldung geben