AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion von Collatz

Ein Thema von CocoPops · begonnen am 1. Apr 2014 · letzter Beitrag vom 1. Apr 2014
Antwort Antwort
CocoPops
(Gast)

n/a Beiträge
 
#1

Funktion von Collatz

  Alt 1. Apr 2014, 03:02
Liebe Gemeinde.

Ich befasse mich momentan mit der Funktion oder dem Problem von Collatz.
Schnell für alle die es nicht kennen erklärt:

Man nimmt eine natürliche Zahl N > 0. Nun verarbeitet man diese Zahl mit folgenden Rechnungen bis man als Resultat 1 hat
wenn N gerade, dann N / 2
wenn N ungerade, dann N * 3 + 1

Auf diese Art und Weise erhält man einige natürliche Zahlen, bis runter zur 1. Das mathematisch bisher ungelöste Problem besteht nun darin,
dass die letzten drei Zahlen der so entstehenden Zahlenfolge scheinbar immer 4, 2, 1 ist.
Ferner ist noch nicht bewiesen, dass dies mit allen natürlichen Zahlen funktioniert.

Ich möchte mit dieser Disskusion einen kleinen Vergleich starten. Es soll kein digitaler Schwanzvergleich oder ähnliches werden.

Geändert von CocoPops ( 1. Apr 2014 um 15:55 Uhr)
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#2

AW: Funktion von Collatz

  Alt 1. Apr 2014, 07:07
Hallo,
Vielleicht finden wir auf diese Art und Weise ein paar natürliche Zahlen, welche nicht auf 4, 2 oder 1 enden oder gar gar nicht mit 1 enden.
Vergiss es!
Bis 5,76 × 10^18 sind alle Zahlen getestet und es gibt keinen ernsthaften Zahlentheoretiker, der glaubt, dass die Collatz-Folge für irgendeine Startzahl nicht auf 1 endet.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Funktion von Collatz

  Alt 1. Apr 2014, 11:42
Mal angenommen du triffst im Laufe der Rechnung auf die 6.
6 ist gerade also => 3
3 ist ungerade => 3*3+1=10
10 ist gerade => 5
5 ist ungerade => 5*3+1=16
Aus der 16 wird in gerader Linie => 8 , 4 , 2, 1
Damit ist schon mal bewiesen, dass die Zahlen 3, 5, 6 und 10 immer in der Folge 4,2,1 enden müssen.
Man könnte jetzt noch 7, 9 und 11 überprüfen und würde wohl auf das Gleiche Ergebnis kommen.
Um auf die 1 zu kommen muss die Zahlenfolge zwangsläufig immer die 4,2,1 durchlaufen.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#4

AW: Funktion von Collatz

  Alt 1. Apr 2014, 12:30
Da kannste Testen wie du willst!

Niedriger wird der Wert von n doch nur wenn n auch gerade ist. Nur mit dem Startwert zwei wirst du diese Folge nicht bekommen.
Wenn n ungerade ist erhöht sich die Zahl und du kommst eher an einen Overflow als an die 1

Gruß Puke
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Funktion von Collatz

  Alt 1. Apr 2014, 13:08
Ob es "immer" mit 1 2 4 endet, kann man leicht prüfen, da man ja nur die Werte von 1 bis zum Doppelten von 4 prüfen muß, ob die so enden und das tun sie.
Alles, was runterkommt, muß einen dieser Werte treffen, da runterzu immer nur halbiert wird.
Alle bekannten Pfade treffen immer auf eine der Zahlen von 4 bis 8 und alles was auf eine der Zahlen von 1 bis 4, bzw. 4 bis 8 trifft, endet doch immer mit 4 2 1.

Was maximal passieren könnte, wäre eine Zahlenreihe die nicht runtergeht, sondern aufsteigt oder sich im Kreis dreht.
Und davon wurde in den ersten paar "Millionen" Zahlen noch Keine gefunden, welche nicht bis auf 1 absinken tut.
$2B or not $2B

Geändert von himitsu ( 1. Apr 2014 um 13:12 Uhr)
  Mit Zitat antworten Zitat
CocoPops
(Gast)

n/a Beiträge
 
#6

AW: Funktion von Collatz

  Alt 1. Apr 2014, 13:39
Ernüchtigend, aber dennoch eine interessante Disskusion.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Funktion von Collatz

  Alt 1. Apr 2014, 15:03
Ernüchtigend
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#8

AW: Funktion von Collatz

  Alt 1. Apr 2014, 15:24
Hallo,
ich habe mir den Quelltext mal angesehen. Was für ein Aufwand!
Es reicht:
Delphi-Quellcode:
procedure Collatz(z:int64);
begin
   listbox1.items.add('Folge für '+inttostr(z));
   repeat
     if odd(z) then z:=3*z+1
               else z:=z div 2;
     listbox1.items.add(inttostr(z));
   until z=1;
end;
Mehr brauchst Du nicht. Du kannst ja mal als Startzahlen 1674652263 (1008 Rechenschritte bis 1), oder 1410123943 (erreicht zwischenzeitlich ein Maximum von 7125885122794452160) testen.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz