1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Algorhythmus?

  • jusTmE1989
  • 18. November 2010 um 02:49
  • Unerledigt
  • jusTmE1989
    2
    jusTmE1989
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 18. November 2010 um 02:49
    • #1

    Servus!

    Ich stehe vor einem kleinen Problem, und wollt mal wissen ob hier ein paar schlaue Köpfe vielleicht ein paar Ideen haben!
    Mir wurde folgende Aufgabe gestellt:

    Gebe eine Zahl n ein,
    falls n ungerade, rechne 3*n+1,
    falls n gerade, rechne n/2.

    Mein Algorhytmus soll nun angeben, ob meine Zahl n irgendwann 1 wird oder nicht.
    Bis 26 werden alle Zahlen 1, 27 läuft bei mir immernoch...
    Mein ursprünglicher Plan war es, das Programm so lange laufen zu lassen, bis entweder 1 raus kommt, oder bis sich einer Schleife gebildet hat.. nur natürlich, gibt es wohl unendlich viele Zahlen, wenn nicht 1 raus kommt und eine Schleife ist somit für mich nicht erkennbar.
    Hat jemand eine Idee, oder kennt vielleicht jemand dieses "Rätsel"?

    MfG,
    Ciarán

  • fieselschweif
    5
    fieselschweif
    Mitglied
    Reaktionen
    1
    Punkte
    226
    Beiträge
    42
    • 18. November 2010 um 03:43
    • #2

    Ich würd mal sagen die Schleifenbildung kann man schon feststellen, und zwar indem man sich jeden neuen Wert in eine Datenstruktur haut und dann bei jeder neuen Zahl überprüft ob diese schonmal vorgekommen ist. Wenn ja, dann ist eine Schleife vorhanden...
    Blöd ist allerdings falls zwar keine Schleife vorkommt, aber diese Berechnung trotzdem nie 1 erreicht.

    Ich *vermute* mal bei näherer Betrachtung könnte man die Aufgabe mathematisch rein auf einem Blatt Papier lösen und man kann irgendwie beweisen dass alle natürlichen Zahlen mit dem Verfahren irgendwann zu 1 führen.

    Übrigens, sicher dass du keinen Fehler in deinem Code hast?
    Ich hab ein billiges Python-Skript geschrieben das innerhalb weniger Sekunden die Produktionen für die ersten paar 1000 n ausgibt, für 27 z.B.:

    Code
    checking number 27
    -> 82 -> 41 -> 124 -> 62 -> 31 -> 94 -> 47 -> 142 -> 71 -> 214 -> 107 -> 322 -> 161 -> 484 -> 242 -> 121 -> 364 -> 182 -> 91 -> 274 -> 137 -> 412 -> 206 -> 103 -> 310 -> 155 -> 466 -> 233 -> 700 -> 350 -> 175 -> 526 -> 263 -> 790 -> 395 -> 1186 -> 593 -> 1780 -> 890 -> 445 -> 1336 -> 668 -> 334 -> 167 -> 502 -> 251 -> 754 -> 377 -> 1132 -> 566 -> 283 -> 850 -> 425 -> 1276 -> 638 -> 319 -> 958 -> 479 -> 1438 -> 719 -> 2158 -> 1079 -> 3238 -> 1619 -> 4858 -> 2429 -> 7288 -> 3644 -> 1822 -> 911 -> 2734 -> 1367 -> 4102 -> 2051 -> 6154 -> 3077 -> 9232 -> 4616 -> 2308 -> 1154 -> 577 -> 1732 -> 866 -> 433 -> 1300 -> 650 -> 325 -> 976 -> 488 -> 244 -> 122 -> 61 -> 184 -> 92 -> 46 -> 23 -> 70 -> 35 -> 106 -> 53 -> 160 -> 80 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1

    Aktuell bin ich grad bei ~1700000 und bisher konnte immer noch alles auf 1 transformiert werden.

    http://happyvimming.blogspot.com/
    -----
    Etwas zusätzlichen Speicher gefällig?
    "Signetics 25120 - Fully Encoded, 9046xN Random Access Write-Only-Memory" (Datenblatt lesen!)

  • Dimitrij
    7
    Dimitrij
    Mitglied
    Reaktionen
    12
    Punkte
    437
    Beiträge
    73
    • 18. November 2010 um 04:18
    • #3

    http://de.wikipedia.org/wiki/Collatz-Problem

    de.lernu.net, lingwadeplaneta.info

  • Paulchen
    1
    Paulchen
    Gast
    • 18. November 2010 um 11:36
    • #4

    Wann werden eigentlich endlich alle wissen, dass ein Algorithmus nichts mit Rhythmus zu tun hat und auch in der Ellipse kein "y" vorkommt?

  • mtoman
    13
    mtoman
    Mitglied
    Reaktionen
    47
    Punkte
    1.767
    Beiträge
    331
    • 18. November 2010 um 12:38
    • #5
    Zitat von Paulchen

    Wann werden eigentlich endlich alle wissen, dass ein Algorithmus nichts mit Rhythmus zu tun hat und auch in der Ellipse kein "y" vorkommt?



    Speziell bei Vorlesungsstream von deutschen Unis hör ich auch immer den Algorüthmus.
    http://de.wikipedia.org/wiki/Algorithmus#Wortgeschichte

    EDIT: So gesehen ist das Problem gemein, wenn es keine wirkliche Lösung gibt.
    Ausser es ist egal, wenn der halt ewig rechnet..

    Einmal editiert, zuletzt von mtoman (18. November 2010 um 12:44)

  • jusTmE1989
    2
    jusTmE1989
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 18. November 2010 um 20:17
    • #6

    Danke erstmal!

    Ne, mein Programm läuft super, da wir aber ein Modellmaschinenprogramm benützen, ist das nur sehr langsam... :)

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung