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 [2024-12-05 14:29] – [Aufgabe B1: Einfache (math.) Algorithmen] hof | gf_informatik:algorithmen_ii [2025-11-20 09:50] (aktuell) – hof | ||
|---|---|---|---|
| Zeile 27: | Zeile 27: | ||
| return max2(max2(a, | return max2(max2(a, | ||
| - | print(max3(input(' | + | print(max3(int(input(' |
| </ | </ | ||
| ++++ | ++++ | ||
| Zeile 199: | Zeile 199: | ||
| * Eine Funktion, die herausfindet (_zurückgibt_), | * Eine Funktion, die herausfindet (_zurückgibt_), | ||
| * Wieviele Parameter hat die Funktion `is_divisor`? | * Wieviele Parameter hat die Funktion `is_divisor`? | ||
| + | |||
| === Auftrag zu Primzahlen === | === Auftrag zu Primzahlen === | ||
| Zeile 204: | Zeile 205: | ||
| * in 2er-Gruppen auf Papier (kein Python!) | * in 2er-Gruppen auf Papier (kein Python!) | ||
| * Vorgehen: | * Vorgehen: | ||
| - | * Algorithmus überlegen, in 2er-Gruppe besprechen, | + | * Algorithmus |
| * Mit Lehrperson besprechen | * Mit Lehrperson besprechen | ||
| * In Python: Funktion `is_prime(n)` implementieren | * In Python: Funktion `is_prime(n)` implementieren | ||
| Zeile 241: | Zeile 242: | ||
| # Es reicht, bis zur Wurzel von n zu testen - gäbe es einen grösseren Teiler t so dass | # Es reicht, bis zur Wurzel von n zu testen - gäbe es einen grösseren Teiler t so dass | ||
| # t*x == n, dann müsste x kleiner sein als Wurzel(n) und wir hätten x bereits gefunden. | # t*x == n, dann müsste x kleiner sein als Wurzel(n) und wir hätten x bereits gefunden. | ||
| - | while i <= math.sqrt(n): | + | while t <= math.sqrt(n): |
| - | if is_divisor(n, | + | if is_divisor(n, |
| # Wir haben einen Teiler gefunden -> keine Primzahl, beenden. | # Wir haben einen Teiler gefunden -> keine Primzahl, beenden. | ||
| return False | return False | ||
| - | | + | |
| # Keinen Teiler gefunden -> wir haben eine Primzahl! | # Keinen Teiler gefunden -> wir haben eine Primzahl! | ||
| return True | return True | ||
| Zeile 281: | Zeile 282: | ||
| while is_divisor(remainder, | while is_divisor(remainder, | ||
| remainder = remainder / factor | remainder = remainder / factor | ||
| - | print factor | + | print(factor) |
| # yield factor | # yield factor | ||
| | | ||
| Zeile 287: | Zeile 288: | ||
| factor = next_prime(factor) | factor = next_prime(factor) | ||
| - | prime_factors(input()) | + | prime_factors(int(input())) |
| </ | </ | ||
| ++++ | ++++ | ||