Mathe und Programmierung gehen Hand in Hand — Zahlen sind überall in der Programmierung. Egal, ob du überprüfst, ob eine Zahl prim ist, Fibonacci-Folgen generierst oder ein Palindrom erkennst, diese kleinen Herausforderungen schärfen sowohl deine mathematischen Fähigkeiten als auch deine Programmierlogik. 

In diesem Artikel werden wir 20 anfängerfreundliche Programmierübungen basierend auf Zahlen erkunden. Für jede Übung erhältst du eine kurze Erklärung des mathematischen Konzepts, einige Beispiel-Eingaben und -Ausgaben sowie eine sofort ausführbare Python-Lösung. Es ist eine unterhaltsame Möglichkeit, das Programmieren zu üben und gleichzeitig zu lernen, wie mathematische Ideen wie perfekte Quadrate, Würfel und dreieckige Zahlen in Code lebendig werden.

1. Summe der ersten N natürlichen Zahlen

Was die Übung will:

Schreibe ein Programm, um die Summe der ersten n natürlichen Zahlen zu finden. Dies hilft dir, Schleifen oder mathematische Formeln zu üben.

Was ist eine natürliche Zahl?

Natürliche Zahlen sind die Zählzahlen, die bei 1 beginnen: 1, 2, 3, 4, …

Beispiel-Eingabe

5

Beispiel-Ausgabe

15

Python-Lösung

# Lese n und berechne die Summe der ersten n natürlichen Zahlen mit der geschlossenen Formel
n = int(input("Gib n ein: "))
# Verwende ganzzahlige Arithmetik (//), um Fließkommazahlen zu vermeiden
total = n * (n + 1) // 2
print(total)

2. Gerade oder Ungerade Prüfer

Was die Übung will:

Nimm eine ganze Zahl als Eingabe und gib aus, ob sie gerade oder ungerade ist.

Was ist gerade/ungerade?

Gerade Zahlen sind durch 2 teilbar (z.B. 2, 4, 6). Ungerade Zahlen hinterlassen den Rest 1, wenn sie durch 2 geteilt werden (z.B. 1, 3, 5).

Beispiel-Eingabe

7

Beispiel-Ausgabe

7 ist ungerade

Python-Lösung

# Bestimme, ob die eingegebene ganze Zahl gerade oder ungerade ist, mithilfe von Modulo
n = int(input("Gib eine Zahl ein: "))
if n % 2 == 0:
    print(f"{n} ist gerade")
else:
    print(f"{n} ist ungerade")

3. Primzahl Prüfer

Was die Übung will:

Schreibe ein Programm, um zu überprüfen, ob eine gegebene Zahl prim ist.

Was ist eine Primzahl?

Eine Primzahl ist größer als 1 und nur durch 1 und sich selbst teilbar (z.B. 2, 3, 5, 7).

Beispiel-Eingabe

13

Beispiel-Ausgabe

13 ist prim

Python-Lösung

# Überprüfe die Primalität, indem du bis zur Quadratwurzel von n dividierst
n = int(input("Gib eine Zahl ein: "))
if n < 2:
    print(f"{n} ist keine Primzahl")
else:
    for d in range(2, int(n**0.5) + 1):
        if n % d == 0:
            print(f"{n} ist keine Primzahl")
            break
    else:
        print(f"{n} ist prim")

4. Summe der Ziffern

Was die Übung will:

Finde die Summe aller Ziffern einer Zahl.

Warum sind Ziffernsummen wichtig?

Ziffernsummen erscheinen in Teilbarkeitsregeln und verschiedenen Zahlenrätseln (z.B. durch 3 teilbar, wenn die Ziffernsumme durch 3 teilbar ist).

Beispiel-Eingabe

1234

Beispiel-Ausgabe

10

Python-Lösung

# Summiere die Ziffern, indem du die Zeichen durchläufst und in Ganzzahlen umwandelst
s = input("Gib eine Zahl ein: ").strip()
digit_sum = sum(int(ch) for ch in s if ch.isdigit())
print(digit_sum)

5. Palindromische Zahl Prüfer

Was die Übung will:

Überprüfe, ob eine Zahl vorwärts und rückwärts gleich gelesen wird.

Was ist eine palindromische Zahl?

Eine Zahl wie 121, 1331 oder 12321, die beim Umkehren gleich bleibt.

Beispiel-Eingabe

12321

Beispiel-Ausgabe

12321 ist ein Palindrom

Python-Lösung

# Vergleiche den String mit seinem Umkehrwert, um auf Palindrome zu testen
s = input("Gib eine Zahl ein: ").strip()
print(f"{s} ist ein Palindrom" if s == s[::-1] else f"{s} ist kein Palindrom")

6. Finde alle Faktoren einer Zahl

Was die Übung will:

Liste alle Zahlen auf, die n gleichmäßig teilen.

Was sind Faktoren?

Faktoren sind ganze Zahlen, die du multiplizieren kannst, um n zu erhalten. Für 12 sind die Faktoren 1, 2, 3, 4, 6, 12.

Beispiel-Eingabe

12

Beispiel-Ausgabe

1 2 3 4 6 12

Python-Lösung

# Generiere alle Teiler, indem du von 1 bis n testest
n = int(input("Gib eine Zahl ein: "))
factors = [d for d in range(1, n+1) if n % d == 0]
print(" ".join(map(str, factors)))

7. Perfekte Zahl Prüfer

Was die Übung will:

Überprüfe, ob n gleich der Summe seiner echten Teiler (ohne sich selbst) ist.

Was ist eine perfekte Zahl?

Zahlen wie 6 (=1+2+3) und 28 (=1+2+4+7+14) sind perfekte Zahlen.

Beispiel-Eingabe

28

Beispiel-Ausgabe

28 ist eine perfekte Zahl

Python-Lösung

# Summiere die echten Teiler (ohne n) und vergleiche mit n
n = int(input("Gib eine Zahl ein: "))
proper = [d for d in range(1, n) if n % d == 0]
print(f"{n} ist eine perfekte Zahl" if sum(proper) == n else f"{n} ist keine perfekte Zahl")

8. Armstrong (Narzisstische) Zahl Prüfer

Was die Übung will:

Überprüfe, ob n gleich der Summe seiner Ziffern, die zur Potenz der Anzahl der Ziffern erhoben werden.

Was ist eine Armstrong-Zahl?

Beispiel: 153 = 1³ + 5³ + 3³; 9474 = 9⁴ + 4⁴ + 7⁴ + 4⁴.

Beispiel-Eingabe

153

Beispiel-Ausgabe

153 ist eine Armstrong-Zahl

Python-Lösung

# Erhebe jede Ziffer zur Potenz der Gesamtanzahl der Ziffern und summiere
s = input("Gib eine Zahl ein: ").strip()
p = len(s)
arm = sum(int(ch)**p for ch in s)
print(f"{s} ist eine Armstrong-Zahl" if arm == int(s) else f"{s} ist keine Armstrong-Zahl")

9. Perfekte Quadrat Prüfer

Was die Übung will:

Überprüfe, ob eine Zahl ein perfektes Quadrat ist.

Was ist ein perfektes Quadrat?

Eine Zahl, die als k² geschrieben werden kann (z.B. 4, 9, 16, 25).

Beispiel-Eingabe

49

Beispiel-Ausgabe

49 ist ein perfektes Quadrat

Python-Lösung

# Verwende die ganzzahlige Quadratwurzel, um Probleme mit Fließkommazahlen zu vermeiden
import math
n = int(input("Gib eine Zahl ein: "))
print(f"{n} ist ein perfektes Quadrat" if math.isqrt(n)**2 == n else f"{n} ist kein perfektes Quadrat")

10. Perfekte Würfel Prüfer

Was die Übung will:

Überprüfe, ob eine Zahl ein perfekter Würfel ist.

Was ist ein perfekter Würfel?

Eine Zahl, die als k³ ausgedrückt werden kann (z.B. 8, 27, 64).

Beispiel-Eingabe

27

Beispiel-Ausgabe

27 ist ein perfekter Würfel

Python-Lösung

# Näherungsweise den Würfelwurzel berechnen und durch Rückverifizierung überprüfen
n = int(input("Gib eine Zahl ein: "))
croot = round(n ** (1/3))
print(f"{n} ist ein perfekter Würfel" if croot**3 == n else f"{n} ist kein perfekter Würfel")

11. Fibonacci-Folgen-Generator

Was die Übung will:

Generiere die ersten n Fibonacci-Zahlen.

Was ist eine Fibonacci-Zahl?

Folge, die mit 0, 1 beginnt, wobei jeder neue Term die Summe der beiden vorherigen ist: 0, 1, 1, 2, 3, 5, 8, …

Beispiel-Eingabe

7

Beispiel-Ausgabe

0 1 1 2 3 5 8

Python-Lösung

# Baue die Fibonacci-Folge iterativ auf, indem du zwei Tracker verwendest
n = int(input("Gib n ein: "))
a, b = 0, 1
seq = []
for _ in range(n):
    seq.append(a)
    a, b = b, a + b
print(" ".join(map(str, seq)))

12. Überprüfe, ob eine Zahl in der Fibonacci-Folge ist

Was die Übung will:

Überprüfe, ob eine gegebene Zahl zur Fibonacci-Folge gehört.

Mathematische Tatsache:

n ist Fibonacci, wenn (5n² + 4) oder (5n² − 4) ein perfektes Quadrat ist.

Beispiel-Eingabe

21

Beispiel-Ausgabe

21 ist eine Fibonacci-Zahl

Python-Lösung

# Verwende den 5n^2±4 Perfekt-Quadrat-Test, um die Fibonacci-Mitgliedschaft zu überprüfen
import math

def is_square(x: int) -> bool:
    return math.isqrt(x)**2 == x

n = int(input("Gib eine Zahl ein: "))
if is_square(5*n*n + 4) or is_square(5*n*n - 4):
    print(f"{n} ist eine Fibonacci-Zahl")
else:
    print(f"{n} ist keine Fibonacci-Zahl")

13. Dreieckszahl Prüfer

Was die Übung will:

Überprüfe, ob n dreieckig ist: n = k(k+1)/2 für eine ganze Zahl k.

Was ist eine Dreieckszahl?

Sie bilden Punkt-Dreiecke: 1, 3, 6, 10, 15, …

Beispiel-Eingabe

15

Beispiel-Ausgabe

15 ist eine Dreieckszahl

Python-Lösung

# Löse k(k+1)/2 = n, indem du k = floor((sqrt(8n+1)-1)/2) überprüfst
import math
n = int(input("Gib eine Zahl ein: "))
k = int((math.isqrt(8*n + 1) - 1) // 2)
print(f"{n} ist eine Dreieckszahl" if k * (k + 1) // 2 == n else f"{n} ist keine Dreieckszahl")

14. Rationale Zahl (Dezimal → Bruch)

Was die Übung will:

Wandle eine Dezimalzahl in einen vereinfachten Bruch p/q um.

Was ist eine rationale Zahl?

Eine Zahl, die als Verhältnis von ganzen Zahlen ausgedrückt werden kann (z.B. 0.75 = 3/4).

Beispiel-Eingabe

0.75

Beispiel-Ausgabe

3/4

Python-Lösung

# Verwende Fraction, um Dezimalzahlen in p/q-Form umzuwandeln und zu vereinfachen
from fractions import Fraction
x = float(input("Gib eine Dezimalzahl ein: "))
print(Fraction(x).limit_denominator())

15. Dreieckszahl Prüfer

Was die Übung will:

Überprüfe, ob eine Zahl dreieckig ist, was bedeutet, dass sie ein gleichseitiges Dreieck bilden kann.

Was ist eine Dreieckszahl?

Dreieckszahlen sind Summen der ersten n natürlichen Zahlen: 1, 3, 6, 10, 15…

Beispiel-Eingabe

10

Beispiel-Ausgabe

10 ist eine Dreieckszahl

Python-Lösung

import math

n = int(input("Gib eine Zahl ein: "))
# Formel: wenn 8n+1 ein perfektes Quadrat ist, dann ist n dreieckig
check = 8 * n + 1
if int(math.isqrt(check))**2 == check:
    print(f"{n} ist eine Dreieckszahl")
else:
    print(f"{n} ist keine Dreieckszahl")

16. Fibonacci-Folgen-Generator

Was die Übung will:

Generiere die Fibonacci-Folge bis zu n Termen.

Was ist die Fibonacci-Folge?

Es ist eine Folge, in der jede Zahl die Summe der beiden vorherigen ist: 0, 1, 1, 2, 3, 5, 8…

Beispiel-Eingabe

7

Beispiel-Ausgabe

0 1 1 2 3 5 8

Python-Lösung

n = int(input("Gib die Anzahl der Terme ein: "))
a, b = 0, 1
for _ in range(n):
    print(a, end=" ")
    a, b = b, a + b

17. Summe der Ziffern

Was die Übung will:

Berechne die Summe aller Ziffern in einer gegebenen Zahl.

Was bedeutet das?

Beispiel: Die Ziffern von 1234 sind 1+2+3+4 = 10.

Beispiel-Eingabe

1234

Beispiel-Ausgabe

10

Python-Lösung

n = input("Gib eine Zahl ein: ")
# Wandle jedes Zeichen zurück in int und summiere
s = sum(int(d) for d in n)
print(s)

18. Eine Zahl umkehren

Was die Übung will:

Kehr die Ziffern der gegebenen Zahl um.

Was bedeutet das?

Beispiel: 12345 wird zu 54321.

Beispiel-Eingabe

12345

Beispiel-Ausgabe

54321

Python-Lösung

n = input("Gib eine Zahl ein: ")
# Verwende Slicing, um umzukehren
print(n[::-1])

19. Größter gemeinsamer Teiler (GGT)

Was die Übung will:

Finde die größte Zahl, die zwei ganze Zahlen ohne Rest teilt.

Was ist GGT?

Der größte Teiler, der beiden Zahlen gemeinsam ist. Beispiel: ggt(12, 18) = 6.

Beispiel-Eingabe

12 18

Beispiel-Ausgabe

6

Python-Lösung

import math

a, b = map(int, input("Gib zwei Zahlen ein: ").split())
# Verwende math.gcd für Effizienz
print(math.gcd(a, b))

20. Kleinste gemeinsame Vielfache (kgV)

Was die Übung will:

Finde die kleinste Zahl, die durch beide gegebenen ganzen Zahlen teilbar ist.

Was ist kgV?

Das kleinste gemeinsame Vielfache von zwei Zahlen. Beispiel: kgV(4, 6) = 12.

Beispiel-Eingabe

4 6

Beispiel-Ausgabe

12

Python-Lösung

import math

a, b = map(int, input("Gib zwei Zahlen ein: ").split())
# Formel: kgV(a, b) = abs(a*b) // ggt(a, b)
print(abs(a*b) // math.gcd(a, b))