Autor |
Beitrag |
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 05.12.17 23:18
Hallo,
das 4.Rätsel mit den Münzen erwies sich als etwas anspruchsvoll. 27 Lösungen sind eingegangen.
Per PN habe ich von Symbroson, trm und pzktupel programmtechnische Lösungen erhalten, die sie vielleicht hier auch noch zeigen werden.
Alle offenen Lösungsversuche sind abgelaufen, daher mein Lösungsvorschlag.
Allgemein bestand die Aufgabe, die Anzahl der Lösungen (a,b,c,d,e) der diophantischen Gleichung
a + 5 b + 10 c + 25 d + 50 e = 100
zu finden, wobei die 5 Variablen alle nichtnegativ sein müssen.
Am einfachsten ist dies mittels Computersimulation möglich.
1. Brute-Force-Lösung
Bei diesem Verfahren werden alle möglichen Tupel (a,b,c,d,e) konstruiert und geprüft, ob die Summe gleich 100 ist.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); const n=100; var a1,a5,a10,a25,a50,anz:integer; begin anz:=0; for a1:=0 to n do for a5:=0 to n div 5 do for a10:=0 to n div 10 do for a25:=0 to n div 25 do for a50:=0 to n div 50 do if a1+5*a5+10*a10+25*a25+50*a50=n then inc(anz); end; |
2. Rekursive Lösung
Eleganter ist eine rekursive Programmierung. Dazu werden die Münzwerte in einem Feld m gespeichert und die Funktion anz(n,k) rekursiv aufgerufen.
Der Rekursion erfolgt mit
anz = anz(n,k-1) + anz(n-m[k],k)
d.h. wird die k.te Münze nicht mehr verwendet, der Betrag n und eine Münze weniger (k-1), sowie im Fall, dass die k.te Münze zum Wechsel genutzt wird, der nun um diese Münze reduzierte Restbetrag n-m[k] mit einem weiteren Versuch, die k.te Münze zu nutzen.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var m : array[1..100] of integer; function anz(n,k: integer): integer; begin if (n < 0) or (k = 0) then anz := 0 else if n = 0 then anz := 1 else anz := anz(n,k-1) + anz(n-m[k],k); end; procedure Geldwechsel; var a,n,k : integer; begin n := 100; m[1]:=1; m[2]:=5; m[3]:=10; m[4]:=25; m[5]:=50; k := 5; a := anz(n,k); end; |
3. Mathematische Lösung
Für eine mathematische Lösung muss die diophantische Gleichung
a + 5 b + 10 c + 25 d + 50 e = 100
untersucht werden. Dies ist mittels Fallunterscheidung möglich.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| 1.Fall e = 2 … ergibt 1 Lösung mit 2 x 50 Kreuzern
2.Fall e = 1 … d.h. a + 5b + 10c + 25d = 50
2.1. d = 2 … ergibt 1 Lösung mit 1 x 50 und 2 x 25
2.2. d = 1 … d.h. a + 5b + 10c = 25 hier kann c die Werte 2,1,0 annehmen. für c = 2 wird a + 5b = 5 mit 2 Lösungen für (a,b) = {(5,0),(0,1)} für c = 1 wird a + 5b = 15 mit 4 Lösungen für (a,b) = {(15,0),(10,1),(5,2),(0,3)} für c = 0 wird a + 5b = 25 analog 6 Lösungen für (a,b) ; b=0,1,2,3,4,5
2.3. d = 0 … a + 5b + 10c = 50 (analog zu oben) mit c = 5,4,…,1,0 und 1, 3, 5, 7, 9, 11 Lösungen für (a,b) = 36 Lösungen
3.Fall e = 0 … a + 5b + 10c + 25 d = 100
3.1. d = 4 … 1 Lösung (a,b) 3.2. d = 3 … analog zu oben, 12 Lösungen (a,b) 3.3. d = 2 … analog zu oben, 36 Lösungen (a,b) 3.4. d = 1 … analog zu oben, 72 Lösungen (a,b) 3.5. d = 0 … analog zu oben, 121 Lösungen (a,b) |
In der Summe ergeben sich die 292 Lösungen, die auch von den Computerprogrammen ermittelt werden.
Im Anhang befindet sich ein kleines Delphi-Programm mit Quelltext, dass für beliebige Münzen und Zielwerte die Anzahl der Wechselmöglichkeiten berechnet. Zusätzlich ermittelt es die Frobenius-Zahl. Das Programm ist von meinem Kollegen S.Beyer. Danke an ihn.
LG Steffen
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Zuletzt bearbeitet von Mathematiker am Di 05.12.17 23:31, insgesamt 2-mal bearbeitet
Für diesen Beitrag haben gedankt: Narses
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Di 05.12.17 23:26
Meine Lösung ähnelt der ersten beschrieben Variante, mit dem Unterschied, dass auf Multiplikation und Division verzichtet wird:
C++-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| #include <stdio.h>
int main() { int a, b, c, d, e, res = 0; for(a=0; a<=100; a+= 1) for(b=0; b<=100; b+= 5) for(c=0; c<=100; c+=10) for(d=0; d<=100; d+=25) for(e=0; e<=100; e+=50) if( a+b+c+d+e == 100 ) res++; printf( "res: %i\n", res ); } |
Anspruchsvoll war das meiner Meinung nach nicht.
Das ist das heutige schon eher - aber auch dafür gibt es eine einfache Strategie das zu lösen
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Mi 06.12.17 00:01
Hm, also die Fallunterscheidung ist ja geradezu prädestiniert dazu, daß man sich verheddert. So mathematisch sauber sie auch ist, so heikel ist sie, insbesondere, wenn man nur dreimal eine Lösung abgeben darf.
Ich erinnere daran, daß selbst der Fürst der Mathematiker Gauß es nicht schaffte, das sog. Damenproblem vollständig zu lösen. Und an zu geringer mathematischer Begabung, ja Genialität lag es bei dem ja nun ganz bestimmt nicht.
Schon ein Computer der Computer-Ur-, spätstens -Frühzeit (?) war hingegen zur lückenlosen Lösung dieses Problems imstande, korrekte Programmierung vorausgesetzt.
Deshalb präferiere ich hier auf jeden Fall den "Rechenknecht". Hier mein (Delphi-)Minimalalgorithmus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| TForm1.Button1Click(Sender: TObject); var anzahl:word;einer,fuenfer,zehner,fuenfundzwanziger,fuenfziger:byte; begin anzahl:=0; for einer:=0 to 100 do for fuenfer:=0 to 20 do for zehner:=0 to 10 do for fuenfundzwanziger:=0 to 4 do for fuenfziger:=0 to 2 do if einer+5*fuenfer+10*zehner+25*fuenfundzwanziger+50*fuenfziger=100 then begin inc(Anzahl); Caption:=inttostr(Anzahl) end end; |
Das geht trotz massiver Schleifenverschachtelung blitzschnell. Sind in der Summe ja "nur" 349.965 Schleifendurchläufe (wenn wenigstens das stimmt).
Ein bißchen grämt mich nur, daß ich etwas mehr als drei Versuche benötigte, um alle Quellcodefehler auszumerzen...
Zuletzt bearbeitet von Delphi-Laie am Mi 06.12.17 00:39, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: trm
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mi 06.12.17 00:06
richtig. Sry
Soviel zum Thema bearbeiten eines Posts kann eine Konversation sinnlos machen...
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
Zuletzt bearbeitet von Symbroson am Mi 06.12.17 00:09, insgesamt 3-mal bearbeitet
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 06.12.17 00:07
Symbroson hat folgendes geschrieben : | Zitat: | Sind in der Summe ja "nur" 349.965 |
Ich glaube 100*20*10*4*2 sind 160.000 |
Es sind 101*21*11*5*3. Du darfst die 0 nicht vergessen.
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Palladin007
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: Mi 06.12.17 00:11
Also doch ein abgefahrenes mathematisches Verfahren
Ich hab's damit gelöst:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| static int AnzahlKombinationen(int summe, IEnumerable<int> münzen) { if (summe == 0) return 1;
if (!münzen.Any() || summe < 0) return 0;
return AnzahlKombinationen(summe - münzen.First(), münzen) + AnzahlKombinationen(summe, münzen.Skip(1)); } |
Das ähnelt stark der rekursiven Lösung, die größten Unterschiede kommen vermutlich von den Sprach-Unterschieden.
@Delphi-Laie:
Ein Kollege hat mir erzählt, dass er eine recht performante Brute-Force-Lösung für das Damen-Problem gefunden hat.
Das Problem - wenn man alle Kombinationen durch gehen will - ist ja die große Menge der Kombinationen und das ständige Prüfen, ob eine Dame eine Andere schlagen kann.
Er hat das binär gelöst, indem er nicht jedem Feld ein Objekt gegeben und dann fleißig durch geprüft hat.
Sein Trick war, eine Reihe als ein Byte darzustellen, immerhin ist ein Brett genau 8 Felder breit.
Dieses Byte darf nur ein Bit auf 1 stehen haben - zumindest wenn ich ihn richtig verstanden haben.
Da dieser Check schneller geht als herkömmliches durch prüfen einzelner Objekte, so konnte er pro Kombination beim Prüfen jeder Reihe etwas Zeit sparen, was die Laufzeit dramatisch reduziert hat.
Für diesen Beitrag haben gedankt: Delphi-Laie
|
|
trm
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: Mi 06.12.17 00:20
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67:
| unit Unit1;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private public end;
var Form1: TForm1;
const mw: array of integer = [1, 5, 10, 25, 50];
implementation
{$R *.dfm}
function z(betrag, maxm: integer): integer; var x, zaehler: integer; ergebnis: integer; begin
if betrag = 0 then ergebnis := 1 else if betrag < 0 then ergebnis := 0 else begin
zaehler := 0; x := maxm; while true do begin zaehler := zaehler + z(betrag - mw[x], x); if x = 0 then break; x := x - 1; end; ergebnis := zaehler; end;
result := ergebnis;
end;
procedure TForm1.FormCreate(Sender: TObject); begin
showmessage(inttostr(z(100, high(mw)))); halt;
end;
end. |
Das ist die Minimalversion eines C++ Scripts ( www.c-plusplus.net/forum/p746376#746376 ), welches mir bei der Suche nach einer Rechenlösung angezeigt wurde.
Zuerst hatte ich auch den guten alten KFG in Verdacht, nach zwei falschen Lösungsabgaben schwante mir, dass da irgend etwas im Argen ist. Jedoch die passende Frage für eine Suche zu finden war schon nervenaufreibend. Außerdem war da noch das Problem der Validität der Ausgabe des Programmes. Zum Glück konnte das mittels kleinerer Werte händisch gegengeprüft werden (5, 10, 11, 20). Das war ein geniales Rätsel!
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
|
|
trm
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: Mi 06.12.17 00:22
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
Für diesen Beitrag haben gedankt: Delphi-Laie
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mi 06.12.17 00:24
Warum sich auch mit der Rekursion abrackern, wo doch 0-8-15 Bruteforce viel sicherer und einfacher ist
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Mi 06.12.17 00:57
Jann1k hat folgendes geschrieben : | Super Aufgabe heute, ich war ziemlich oft am verzweifeln...
Wie wärs wenn wir zusammenlegen und den Weihnachtswichteln biegsame Röhren schenken, die man auch übereinander legen kann? Dann muss das nicht immer so knifflig sein. |
Nun, ich kam mir heute vor wie bei einer Diplomprüfung für Elektroniker, konkret Leiterplattendesign/-layout.....
Zuletzt bearbeitet von Delphi-Laie am Mi 06.12.17 23:00, insgesamt 1-mal bearbeitet
|
|
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: Mi 06.12.17 08:26
Jo, ich gebe die Thaleraufgabe auch mal frei. Ist ziemlich identisch zu anderen hier.
DIM AS BYTE K50,K25,K10,K5,K1
DIM AS INTEGER KO
KO=0
FOR K50=0 TO 2
FOR K25=0 TO 4
FOR K10=0 TO 10
FOR K5=0 TO 20
FOR K1=0 TO 100
IF K50*50+K25*25+K10*10+K5*5+K1=100 THEN KO+=1
NEXT K1:NEXT K5:NEXT K10:NEXT K25:NEXT K50
PRINT "Kombinationen";KO
Ich hatte aus 2016 ( da ich die nicht kenne ) die Buchaufgabe gelöst.
Auch hier kann der PC viel Zeit einem sparen. Das Ergebnis passte!
Erinnert sich bestimmt noch einer.
DIM AS INTEGER i,j,j1,j2
FOR i=0 TO 10000
j=10000-i
j1=j\100
j2=j MOD 100
IF 2*j+5=j2*100+j1 THEN PRINT i / i ist ja 6837 (in ct)
NEXT i
Anbei das Enten- und das Vogelhauspuzzle waren kniffliger als die Spinne/Kreuz von 2017
-----
ACHSO das mit den Röhren.Das Prinzip kannte ich durch Zufall, deshalb konnte ich was damit anfangen. Die 3. Runde war gemein. Es gibt nämlich ein kostenloses Spiel mit einem Würfel und dort musste man auf der Oberfläche eben diese farbigen linien von Beginn zum Ende ziehen.
Zum Bsp hier ein Bild
www.google.de/search...mgrc=iEcwcWw6TXiYdM:
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 06.12.17 09:00
(4) Lösung
Ich habe das ganze erst einmal mit elementarer Kombinatorik probiert [1] (txt, 1.31 KB), wobei ich schnell gemerkt habe dass eine Reihe von N Fünfen immer auf N+1 Zerlegungen führt.
Als Kurzschreibweise habe ich ~[] für einen fiktiven Zerlegungsalgorithmus geschrieben, der einer Sequenz von Zahlen die Menge ihrer möglichen Zerlegungen zuordnet.
Zum Beispiel ~[5 5 5] = (555, 55 11111, 5 11111 11111, 11111 11111 11111). Bei einer Reihe von M Zehnen gefolgt von N Fünfen zerlegt man von rechts nach links die Zehnen in Fünfen und erhält z.B. ~[10 10 5] = (10 10 ~5, 10 ~[5 5 5], ~[5 5 5 5 5]) --> 2 + 4 + 6 Zerlegungen.
Allgemein: ~[10#M 5#N] --> sum_{i=0..M} (N + 2i + 1) = (N+M+1)*(M+1) Zerlegungen.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| ~25 = (25, ~[10 10 5]) --> 1 + 4*3 = 13 Zerlegungen ~50 = (50, 25 ~25, ~[10 10 10 10 10]) --> 1 + 13 + 6*6 = 50 Zerlegungen
~100 = (50 ~50, (50 Zerlegungen) 25 25 25 ~25, (13 Zerlegungen) 25 25 ~[10 10 10 10 10], (6*6 = 36 Zerlegungen) 25 ~[10 10 10 10 10 10 10 5], (9*8 = 72 Zerlegungen) ~[10 10 10 10 10 10 10 10 10 10]) (11*11 = 121 Zerlegungen) --> 50 + 13 + 36 + 72 + 121 = 292 Zerlegungen |
Einloggen, um Attachments anzusehen!
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Mi 06.12.17 10:38
Hallo,
was mich nur wundert, das manche die 1
for einer:=0 to 100 do
mit eingebaut haben.Die ergibt sich aus Summe-Rest am Schluss.
Ich habe leider Hidden Zerlegung nicht hinbekommen.
Ich dachte erst 5 = 5 oder 11111 -> 2 Möglichkeiten
10 = 10 und 2x 5 also 1+2*2 Möglichkeiten, was nicht stimmt, denn 5 5-> wird in
[5 5];[5 11111];[11111 5];[11111 11111] zerlegt und da ist 5 11111 doppelt, da die Reihenfolge keine Rolle spielt-> Kombination statt Permutation...
Die nächste Aufgabe wartet,
Gruß Horst
Für diesen Beitrag haben gedankt: Delphi-Laie
|
|
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: Mi 06.12.17 10:51
Horst_H hat folgendes geschrieben : | Hallo,
was mich nur wundert, das manche die 1
mit eingebaut haben.
Gruß Horst |
Das kann ich erklären. Damit man aus reiner Systematik nichts vergisst.
Hinterher ist immer optimieren noch möglich, aber man braucht immer ein Richtiges Ergebnis zum vergleichen danach,stimmts?
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 06.12.17 16:00
Hallo,
hier die Lösung des 5.Rätsels für 3 mögliche Aufgaben:
Jeder Mitspieler erhielt aus 9 Möglichkeiten genau 3 Aufgaben. Allerdings wurden sie auch gespiegelt und/oder gedreht, sowie die Farben gemischt, so dass es mitunter anders aussehen konnte.
LG Steffen
Nachtrag: Text geändert, da ursprünglich nicht korrekt.
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Zuletzt bearbeitet von Mathematiker am Mi 06.12.17 17:22, insgesamt 2-mal bearbeitet
Für diesen Beitrag haben gedankt: Narses
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Mi 06.12.17 16:20
Mathematiker hat folgendes geschrieben : | Hallo,
hier die Lösung des 5.Rätsels: |
Bemerkenswert ist, daß bei jeder Lösung sämtliche Feldelemente bzw. Teilquadrate bedeckt sind. Ich wollte das schon fragen, ob das die Bedingung ist, sah aber später davon ab, um keine Schwäche zu zeigen.
Zuletzt bearbeitet von Delphi-Laie am Mi 06.12.17 16:32, insgesamt 1-mal bearbeitet
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Mi 06.12.17 16:25
Horst_H hat folgendes geschrieben : | Hallo,
was mich nur wundert, das manche die 1
for einer:=0 to 100 do
mit eingebaut haben.Die ergibt sich aus Summe-Rest am Schluss. |
Mit der kleinen Änderung, daß dann <=100 geprüft werden muß.
Sehr gute Idee!
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 06.12.17 16:29
Delphi-Laie hat folgendes geschrieben : | Bemerkenswert ist, daß bei jeder Lösung sämtliche Feldelemente bzw. Teilquadrate bedeckt sind. Ich wollte das schon fragen, ob das die Bedingung ist, sah aber später darauf ab, um keine Schwäche zu zeigen. |
Im Text zum Rätsel stand links
Zitat: | Um den Level abzuschließen müssen alle Endpunkte verbunden sein und alle Felder eine Röhre oder einen Punkt enthalten.
|
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Für diesen Beitrag haben gedankt: Delphi-Laie
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Do 07.12.17 08:28
Hallo,
das gestrige Rätsel 6 war für den einen oder anderen nervig, da zeitaufwendig.
Heute gibt es noch einmal zum "Verschnaufen" eine einfache Aufgabe; die einfachste nach meiner Meinung.
Vielleicht schaffen wir heute 40 und mehr richtige Lösungen. Schön wäre es.
Viel Erfolg
Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
PantherX
Beiträge: 43
Erhaltene Danke: 7
Win XP, Win 7
Delphi 7, VS2010 C#
|
Verfasst: Do 07.12.17 12:01
Hallo,
das gestrige Rätsel war schon ein Zeitfresser. Wobei ich die Angabe "es ist in 10 Zügen" machbar noch mit 7 Zügen unterbieten konnte. (Die unzähligen vorherigen Versuche blende ich jetzt einfach mal aus! )
Viele Grüße
Patrick
_________________ Grafische Oberflächen sind wie U-Boote. Kaum macht man ein Fenster auf, fangen die Probleme an!
|
|
|