Ganze Zahl in zwei Faktoren zerlegen

Grenzen der Logik: Grün oder nicht grün, was ist türkis.
 
 von unten nach oben
 von oben nach untern
Zeit:   00:00  
 
 
Eingabe: 
 
 
Min:
Max:
Iteration:
Aktueller Wert:
Probe = max* min:
Wieoft wird Min subtrahiert:
Diverenz Eingabe - unterer Wert:

Das Verfahren beruht also auf dem Kummutativ- und dem Distributivgesetz:
( a + 1) * b = a * b + a ; oder ( b - 1 ) * a = a * b - b .

Erklärung

Wenn die Zahl geradzahlig ist, hat sich die Sache schon erledigt. Sonst beginnt man mit Minimum 3. Startmaximum ist die Zahl, bei der das Produkt min *max größer ist als die eingegebene Zahl.
Die Iteration sieht dann so aus:
Es wird dann solange das Minimum vom aktuellen Wert abgezogen, bis der aktuelle Wert den Eingabewert erreicht oder unterschreitet. Das Maximum wird entsprechend korrigiert. Anschließend wird das Maximum solange addiert, bis der Eingabewert wieder überschritten wird bzw.gleich dem Eingabewert ist. Hier reicht ein Schritt, weil das Maximum größer als das Minimum ist. Das Minimum erhöht sich bei diesen Schritt. Bei "von oben nach unten" geht es umgekehrt.
Weil die Faktoren ungerade sein müssen, kann man in Zweierschritten vorgehen.
Die Anzahl der Schritte, bei dem das Minimum abgezogen wird, kann anfänglich sehr groß sein. Man kann sie aber über eine Division bestimmen. Der verbleibende aktuelle Wert wird dann Multiplikativ berechnet. Wenn die Anzahl der Minimums-Schritte einer Iteration, von der vorigen nicht sehr verschieden sind, kann man die neue Anzahl aus den alten berechnen, ebenso die neue Differenz aus der alten. Die Iteration läuft dann ohne Multiplikation und Division nur Additionen und Subtraktionen. Fertig ist man, wenn der aktuelle Wert mit dem Eingabewert übereinstimmt (erfolgreich), oder wenn die Variable "max" das Minimum überschreitet (keine Lösung, Primzahl).
Das Produkt pendelt also ständig um den Eingabewert, bis ein oder keine Gleichheit gefunden wird.

Ludwig Resch