Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:algorithmen_ii [2026-04-17 07:06] – [Aufgabe B3: Primfaktorzerlegung] hof | gf_informatik:algorithmen_ii [2026-04-17 11:24] (aktuell) – [Auftrag zu Primzahlen] hof | ||
|---|---|---|---|
| Zeile 16: | Zeile 16: | ||
| * Teil 3: Schreibe eine Funktion `max3(a, b, c)`, die das Maximum von **drei** Zahlen zurückgibt. _Verwende dazu die `max2` Funktion!_ | * Teil 3: Schreibe eine Funktion `max3(a, b, c)`, die das Maximum von **drei** Zahlen zurückgibt. _Verwende dazu die `max2` Funktion!_ | ||
| - | <nodisp | + | <html>< |
| - | ++++Lösung| | + | <script type=" |
| - | <html><bottom-editor> | + | def max2(a, b): |
| + | """ | ||
| + | |||
| + | def max3(a, b, c): | ||
| + | """ | ||
| + | |||
| + | print(max2(5, | ||
| + | print(max3(1, 2, 3)) | ||
| + | </script> | ||
| + | <script type=" | ||
| + | assert max2(5, 3) == 5 | ||
| + | assert max2(5, 5) == 5 | ||
| + | assert max2(3, 5) == 5 | ||
| + | |||
| + | assert max3(1, 2, 3) == 3 | ||
| + | assert max3(3, 2, 1) == 3 | ||
| + | assert max3(1, 3, 2) == 3 | ||
| + | </script> | ||
| + | <script type=" | ||
| def max2(a, b): | def max2(a, b): | ||
| + | """ | ||
| if a > b: | if a > b: | ||
| return a | return a | ||
| Zeile 26: | Zeile 45: | ||
| def max3(a, b, c): | def max3(a, b, c): | ||
| + | """ | ||
| return max2(max2(a, | return max2(max2(a, | ||
| print(max3(int(input(' | print(max3(int(input(' | ||
| - | </ | + | </ |
| - | ++++ | + | </ |
| - | </ | + | |
| === Aufgabe A2: Sortieren === | === Aufgabe A2: Sortieren === | ||
| Zeile 282: | Zeile 302: | ||
| < | < | ||
| <script type=" | <script type=" | ||
| - | import math | ||
| - | |||
| def is_divisor(dividend, | def is_divisor(dividend, | ||
| """ | """ | ||
| Zeile 342: | Zeile 360: | ||
| </ | </ | ||
| <script type=" | <script type=" | ||
| + | import math | ||
| + | |||
| + | def is_prime(n): | ||
| + | """ | ||
| + | if n < 2: | ||
| + | return False | ||
| + | t = 2 | ||
| + | while t <= math.sqrt(n): | ||
| + | if n % t == 0: | ||
| + | return False | ||
| + | t = t + 1 | ||
| + | return True | ||
| + | |||
| def next_prime(n): | def next_prime(n): | ||
| """ | """ | ||
| Zeile 357: | Zeile 388: | ||
| # For each prime, divide the remainder as long as the prime is | # For each prime, divide the remainder as long as the prime is | ||
| # a divisor. | # a divisor. | ||
| - | while is_divisor(remainder, factor): | + | while remainder |
| remainder = remainder / factor | remainder = remainder / factor | ||
| print(factor) | print(factor) | ||
| Zeile 376: | Zeile 407: | ||
| * Schreibe eine Funktion `ggT(x,y)`, die zwei Zahlen `x` und `y` entgegennimmt und den ggT der beiden zurückgibt. | * Schreibe eine Funktion `ggT(x,y)`, die zwei Zahlen `x` und `y` entgegennimmt und den ggT der beiden zurückgibt. | ||
| - | <nodisp 1> | + | <html>< |
| - | ++++Lösung:| | + | <script type=" |
| - | <html><bottom-editor> | + | def ggt(a, b): |
| + | """ | ||
| + | </script> | ||
| + | <script type=" | ||
| + | assert ggt(15, 10) == 5 | ||
| + | assert ggt(544, 391) == 17 | ||
| + | </ | ||
| + | <script type=" | ||
| def ggt(a, b): | def ggt(a, b): | ||
| """ | """ | ||
| Zeile 388: | Zeile 426: | ||
| print(ggt(544, | print(ggt(544, | ||
| - | </ | + | </ |
| - | ++++ | + | </ |
| - | </nodisp> | + | |
| Zeile 398: | Zeile 435: | ||
| * Schreibe eine Funktion `wurzel(x)`, | * Schreibe eine Funktion `wurzel(x)`, | ||
| - | <nodisp 1> | + | <html>< |
| - | ++++Lösung:| | + | <script type=" |
| - | <html><bottom-editor> | + | def wurzel(n, precision=0.0001): |
| + | """ | ||
| + | </script> | ||
| + | <script type=" | ||
| + | assert 14.99 < wurzel(225) < 15.01 | ||
| + | assert 1.41 < wurzel(2) < 1.42 | ||
| + | </ | ||
| + | <script type=" | ||
| def wurzel(n, precision=0.0001): | def wurzel(n, precision=0.0001): | ||
| """ | """ | ||
| Zeile 415: | Zeile 459: | ||
| print(wurzel(225)) | print(wurzel(225)) | ||
| - | </ | + | </ |
| - | ++++ | + | </ |
| - | </nodisp> | + | |