Lynette Geschrieben 28. August 2005 Geschrieben 28. August 2005 Hallo, ich habe die Aufgabe einen Algo zu konstruieren, eine Art vereinfachtes NIM-Spiel, die Regeln lauten, jeder darf abwechselnd von einem Stapel mindestens einen aber höchstens die Hälfte Streichölzer nehmen, verloren hat, wer das letzte Hölzchen nehem muss. Der Trick dabei soll sein, den Algo so zu formulieren, daß der Computer immer gewinnt. Ich zerbreche mir schon das ganze Woe den Kopf, aber komme nicht recht weiter. mein Ansatz ist folgender wenn z-(z div 2)=3 dann z=z-(z div 2) // damit bekomme ich für 5 und 6 immer drei heraus sonst wenn z mod 2= 0 oder (z=3) dann z:=z-1 //ungerade Zahlen erwirken sonst wenn z mod 2 <>0 dann z:=z-2 klappt aber nicht immer anderer Ansatz wenn z= ungerade z=z-2 wenn z= gerade z=z-1 ausser wenn z= 6, 9 oder 10 z=z-(z div 2) wenn z= 8 z=z-3 das ist aber reichlich unelegant... lt. Lehrer soll die Lösung verblüffend einfach sein aber mir erschliesst sich das noch nicht so. Vielleicht hat einer eine andere Idee? Ich habe auch schon wie wild gegoogelt, aber für den speziellen Fall habe ich nichts gefunden, nur für 'normale' Nim-Spiele.
Klotzkopp Geschrieben 28. August 2005 Geschrieben 28. August 2005 Ich glaube, du gehst falsch an die Sache heran. Ich würde zuerst die Gesetzmäßigkeit suchen, und dann dazu einen Algorithmus entwickeln. Finde doch zuerst mal raus, welche Anzahl der Computerspieler übrig lassen muss, um immer zu gewinnen. Die 3 hast du ja offenbar schon gefunden. Dann solltest du dich fragen, ob es eine Anzahl gibt, die der Computerspieler in der vorausgehenden Runde übrig lassen kann, so dass er in der nächsten auf jeden Fall auf 3 kommen kann. Wenn du das ein paar Mal durchspielst, springt dich die Gesetzmäßigkeit praktisch an.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden