Ich sinniere im Moment mal wieder über eine mögliche Lösung des 3x+1 Problems.
Wer nicht weiß, was gemeint ist: http://de.wikipedia.org/wiki/Collatz-Problem
Kurzes Beispiel:
Startzahl:
15
-ungerade
=> 3 * 15 + 1
46
-gerade
=> 46 / 2
23
-ungerade
(...)
4
-gerade
=> 4/2
2
-gerade
=> 2/2
1
-ungerade
=>3* 1 + 1
4
(und es geht wieder bei 4 an)
Eine schnell getippte Implementierung des Algorithmus in C++ (allerdings mit Berücksichtigung negativer Zahlen):
Code: Alles auswählen
long long collatz_alg( long long start)
{
cout << start;
if ( (start == 1) || (start == -1) ) {
return 1;
}
cout << " - ";
if (start%2) {
return collatz_alg( 3*start + 1 );
} else {
return collatz_alg( start / 2 );
}
}
Einfach Zahlen einzusetzen wird wenig bringen, siehe WikipediaArtikel.
Es wurden schon sehr große Zahlen versucht.
Deswegen überlege ich an einem Ansatz, das Problem von hinten heraus zu lösen.
Heißt: Ich versuche einen Endpunkt, bzw eine Folge, die sich wiederholt und nicht 4 - 2 - 1 ist zu finden.
Weil ich das nicht auf dem Papier mache, und weil das hier kein Matheforum sondern ein Programmierforum ist, kann man sich denken, dass ich versuche, das per Computer zu realisieren.
Mal schauen, was dabei herauskommt.
*Nachtrag*
Lösung heißt entweder ein Beispiel, das widerlegt, das jede Ganze, Positive Zahl in der Folge 4 - 2 - 1 endet, oder eine Möglichkeit zu beweisen, das JEDE Zahl in dieser Folge endet.
*/Nachtrag*