Perfekte (volkommene) Zahlen

Perfekte (volkommene) Zahlen#

Aufgabenstellung#

Eine perfekte (vollkommene) Zahl ist eine natürliche Zahl, die gleich der Summe aller ihrer (positiven) Teiler, ausgenommen sich selbst ist. Entsprechend ist sie auch eine Zahl, die halb so groß ist wie die Summe aller ihrer positiven Teiler (sie selbst eingeschlossen). Beispielsweise ist \(28 = 1 + 2 + 4 + 7 + 14\) eine vollkommene Zahl.

Entwickeln Sie einen einen Algorithmus, welcher für eine gegebene Zahl \(n\) überprüft, ob sie vollkommen ist. Bearbeiten Sie dabei folgende Aufgabenstellungen:

  1. Stellen Sie den entwickelten Algorithmus als Programmablaufplan dar. Hinweis: Verwenden Sie die Modulofunktion um die Teiler einer Zahl zu finden.

  2. Finden Sie die kleinste perfekte Zahl und geben Sie anhand des entwickelten Algorithmus die erforderlichen Berechnungsschritte zur Ermittlung dieser an. Geben Sie dabei auch die Zwischenwerte aller Hilfsvariablen und Zählerwerte der verwendeten Iterationsschleifen an.

  3. Stellen Sie alternativ eine analytische Formelbeziehung her und verifizieren Sie anschließend Ihr Ergebnis anhand dieser. Ermitteln sie darauf aufbauend alle perfekten Zahlen zwischen 1 und 500. Hinweis: Eine mögliche Formelbeziehung kann den Lösungshinweisen entnommen werden.

Lösungshinweise#

  1. Definieren sie zunächst eine Variable \(x\) welche die Summe ihrer eigenen Teiler darstellt. In einer Schleife von 1 bis \(n\) kann über eine Modulofunktion geprüft werden, ob der Zähler \(k\) ein echter Teiler von \(n\) (\(n \bmod k = 0\)) ist. Wenn dies der Fall ist, wird der Zähler \(k\) zu \(x\) addiert.

  2. Durchlaufen Sie den Algorithmus für verschiedene Werte von \(n\).

  3. \(n(k) = 2^{k-1}(2^k - 1)\) wenn \(2^k - 1\) eine Primzahl ergibt.

Lösungsvorschlag#

Zu 1.

Beispiel

Möglicher Programmlaufplan zur Kontrolle, ob eine natürliche Zahl \(n\) eine perfekte Zahl ist

Zu 2. Perfekte Zahlen zwischen 1 und 500 : 6, 28, 496

Beispiel: \(n = 6\)

Start:

\(x = 0\) (Variable)

\(k = 0\) (Zähler)

\(n = 6\) (Zu untersuchende Zahl)

Durchlauf 1

\(k = k + 1 = 1\)

\(a=n \bmod k := 6 \bmod 1 = 0\)

\(x = x + k := 0 + 1 = 1\)

\(x \neq n := 1 \neq 6\)

Durchlauf 2

\(k = 2\)

\(a = 0\)

\(x = 3\)

\(3 \neq 6\)

Durchlauf 3

\(k = 3\)

\(a = 0\)

\(x = 6\)

\(6 = 6\)

\(6\) ist eine perfekte Zahl!

Zu 3.

\(n(k) = 2^{k-1}(2^k - 1)\)

\(n(2) = 2^{2-1}(2^2 - 1) = 6 = 1 + 2 + 3\)

\(n(3)=2^{3-1}(2^3 - 1) = 28 = 1 + 2 + 4 + 7 + 14\)

\(n(4) = 2^{4-1}(2^4 - 1) = 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 12 + 248\)