added loops
This commit is contained in:
31
loops/ex01/README.md
Normal file
31
loops/ex01/README.md
Normal file
@ -0,0 +1,31 @@
|
||||
# [Primzahlen](./primes.py)
|
||||
|
||||
## `is_prime`
|
||||
|
||||
Eine Primzahl ist eine Zahl die nur durch sich selbst und eins teilbar ist. Implementieren Sie die Funktion `is_prime(n: int) -> bool` welche
|
||||
|
||||
- `True` wenn `n` größer als 1 ist und eine Primzahl
|
||||
- sonst `False`
|
||||
|
||||
## `next_prime`
|
||||
|
||||
Nun schreiben wir eine Funktion `next_prime` die eine Zahl `n` nimmt und uns die nächst größere Primzahl zurückgibt.
|
||||
|
||||
- Sie können diese sowohl iterativ also auch rekursiv lösen
|
||||
- Es müssen keine weiteren Randbedingungen beachtet werden
|
||||
|
||||
## `prime_factorize`
|
||||
|
||||
Eine beliebiges aber festes $n \in \mathbb{N}_2$ kann entweder eine Primzahl sein oder eine Zahl welche man in ein Produkt aus Primzahlen zerlegen kann. Dieses Verfahren nennt man Primfaktorzerlegen.
|
||||
|
||||
Als kleines Beispiel kann man $20$ als Produkt $2 \cdot 2 \cdot 5$ darstellen. Dieses ist vor allem eindeutig und man kann für jeder Zahl ein solches Produkt finden.
|
||||
|
||||
Schreiben Sie nun folgende Funktion `prime_factorize(n: int) -> list[int]` welche
|
||||
|
||||
- für Zahlen `n < 2` eine leere Liste zurückgibt
|
||||
- für Zahlen `n` die Prim sind einfach eine Liste mit der Zahl `n` zurückgibt
|
||||
- sonst für alle weiteren eine Liste mit den Primfaktoren zurückgibt
|
||||
|
||||
Tipp: Sie können hierfür die Funktionen `is_prime` und `next_prime` verwenden
|
||||
|
||||
## [Solution](./solution/primes.py)
|
Reference in New Issue
Block a user