SS 2001 | Hannes Federrath |
Übung 3 | Lars Knipping |
Abgabe bis zum 24.05.01. |
Wir nehmen an, für die Multiplikation natürlicher Zahlen stehe der Operator* nicht zur Verfügung. Man kann dann zwar naiv durch wiederholtes Addieren multiplizieren, geschickter ist es aber, die Shift-Operatoren << und >> einzusetzen. Dies führt zu einem Algorithmus mit ähnlicher Struktur wie in Aufgabe 2.3.
Eine natürliche Zahl t heißt Teiler einer natürlichen Zahl n, wenn n durch t ohne Rest teilbar ist. Eine natürliche Zahl n heißt vollkommene Zahl, wenn sie gleich der Summe ihrer Teiler ist (1 eingeschlossen, n ausgeschlossen). Die kleinste vollkommene Zahl ist 6 = 1+2+3.
Implementiere und teste ein Java-Programm, das möglichst viele
vollkommene Zahlen ausgibt.
Wieviele rechtwinklige Dreiecke mit ganzzahligen Kathetenlängen (größer Null) gibt es, deren Fläche einen vorgegebenen ganzzahligen Wert nicht übersteigt?