Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

KI?
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.11.2007, 15:09    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Wieder eines von AndT's genialen Programmen. peinlich

(Ich glaube AndT nervt die Commu inzwischen mehr als ich happy mit seinen Progs durchgeknallt (falls es überhaupt möglich ist eine mischung aus scriptkiddie und spamtroll darin zu überbieten peinlich ))
(Aber jetzt wollen wir ganz schnell wieder aufhören auf AndT rumzuhacken, sonst wird nachher noch der Thread geschlossen [/keinwitz])
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 03.11.2007, 15:23    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
In der Mitte anfangen und dann immer halbieren. Vielleicht schaffe ich es, gleich mal einen Code einzustellen.
Ja bitte würd mich jetzt echt interessieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 03.11.2007, 16:46    Titel: Antworten mit Zitat

Das Programm kannst du dir vllt. auch selbst schreiben, wenn man das Ganze hier noch etwas erklärt...
Nehmen wir an, du willst die Zahlen von 1 bis 64 raten lassen.
Dann wird gesagt "32". Du sagst dann z.B. "nee, kleiner". Und zack hat sich die Liste der möglichen Zahlen halbiert. Dann wird gesagt "16". Nehmen wir mal an "nee, größer". Schon wissen wir, dass es nur die Zahlen 17 bis 31 sein können. "24" -> "kleiner" -> Zahlen 17-23. "20" -> "größer" -> Zahlen 21-23. "22" -> "größer" -> Es ist Zahl 23.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 03.11.2007, 20:09    Titel: Antworten mit Zitat

So, tut mir leid, hatte nämlich gerade Besuch (der 10 min zu früh da war)
Code:
dim as uinteger eingabe, rate, unten=0, oben=&h7fffff
dim as ubyte zuege
print "Gebe eine Zahl von 0 bis " & &hffffff & " ein, die erraten werden soll: ";
input "", eingabe
do
  rate = (oben + unten - 1)/2
  zuege += 1
  print "Der Computer raet " & rate;
  if rate > eingabe then
    print " (zu gross)"
    oben = rate
  elseif rate < eingabe then
    print " (zu klein)"
    unten = rate+1
  end if
loop until rate = eingabe
print " (erraten in " & zuege & " Zuegen)"

oben und unten geben die Schranken an, innerhalb derer sich die zu ratende Zahl befindet. Dieser Bereich wird Schritt für Schritt eingeengt.
Ich habe den Bereich nun doch nur auf den Bereich bis 2^31-1 gesetzt statt auf den gesamten UINTEGER-Bereich, weil das Programm sonst Fehler machen kann. Ist aber kein Problem des Algorithmus, sondern eines der internen Variablenspeicherung. Damit ist die maximale Ratedauer auch auf 31 Versuche geschrumpft.

Übrigens, Caran: Im Prinzip läuft das tatsächlich wie eine BIT-weise Überprüfung ab, begonnen beim größten BIT. happy

edit: und natürlich habe ich Maos Posting erst nachträglich gelesen - aber ganz genau so ist es. Ja!
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 03.11.2007, 20:25    Titel: Antworten mit Zitat

Naja das ist doch schon mal ne ganz coole Sache. Übrigens hat er, bei mir, für die meisten Zahlen gerade mal 23 Züge gebraucht. *respekt*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz