Autor |
Beitrag |
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Mi 10.12.14 23:47
Hallo,
die Nachwehen der Nikolaus-Party.....
Dann ist ja richtig viel los in der Lostrommel.
Sehr schön.
Gruß Horst
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Do 11.12.14 10:33
Th69 hat folgendes geschrieben : | Wird wohl nichts mit 24 Lösungen - schade... |
Teilnahme ist alles... Besser ist es, sich über Erfolge zu freuen, als / statt mit Mißerfolgen zu hadern.
Manche scheinen einen erstaunlichen Ehrgeiz zu entwickeln, wenn die sogar Programme schreiben, die ihnen bei der Lösungssuche helfen.
Zuletzt bearbeitet von Delphi-Laie am Do 11.12.14 15:06, insgesamt 1-mal bearbeitet
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Do 11.12.14 11:06
Hallo,
das Rätsel vom 9.12., das Lager des Weihnachtsmanns, war wohl das aufwendigste bisher.
Eigentlich ist es reine Fleißarbeit, wobei man eine gute Idee für den Anfang braucht.
Eine mögliche Lösung wäre:
Zitat: | 2223330003330001000300011233111221110033331221030133033222122232221110000002222223330001220000030001121122322222233032212330
1003330012321110120000030001121122322222233032123331100333000001222232111010000300011211223222222333001200000300011211223222
2223303212331003300000132210232221110000331122223333000001222232113300001111222221100000010033033222123323222110120000030001
1211223222222330322123032100033300000122223211100100030001121122322222233300120000030001121122322222233032212300033000001322
2221112110000001003303322232101222220000300001121122322222233032123000010003000332101222123303222232113000011122232222000010
0030000112303222123303222000110011112230103330322212330320110011122111003333303222323322123211330000011112222322200333000012
2000111233032111222221122211103323000000000010333032223332221232113300000111122223220333000012200011123303201100111222222221
2322110323000000000010333032223210122222220110011103323000001033303222321012222220000033332212321133000011112223201000333222
321133000011100011122222110323000010333032223210122222000030001111112332301033303222321012222 |
mit 0 = hoch, 1 = rechts, 2 = runter, 3 = links.
Diese Lösung ist nicht optimal. Es geht kürzer.
Damit ihr aber nicht Schritt für Schritt es selbst ausprobieren müsst, hänge ich eine Demonstration dieser Lösung als Exe an.
Der Hinweis von Th69 auf die Möglichkeit, einen "Zurücknehmen"-Schalter einzubauen, ist berechtigt. Tut mir leid. Ich habe es einfach vergessen.
Um alle Mitspieler etwas zu trösten: Noch so ein aufwendiges Rätsel kommt nicht mehr. D.h. aber nicht, dass es nur noch einfache Aufgaben werden.
Zur Aufgabe vom 10.12. kann ich nichts weiter sagen. Dort hilft nur, solange spielen bis eben eine 512 entsteht. Ich bin bloß froh, dass ich auf 512 gegangen bin. Ursprünglich wollte ich 1024 fordern.
Das heutige Spiel (11.12.) ist relativ einfach. Morgen kommt dann ein reines Matherätsel (ich muss ja meinem Ruf gerecht werden ). Mit etwas Elementarmathematik findet man die Lösung, denke ich.
24 verschiedene Aufgaben zu konstruieren, bei denen man etwas klicken oder verschieben kann, habe ich nicht geschafft. Also muss Füllstoff her und morgen ist es eben eine Matheaufgabe.
Beste Grüße
Mathematiker
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Für diesen Beitrag haben gedankt: Narses, trm
|
|
Jann1k
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Do 11.12.14 14:36
Also ich fande das Wichtel-Lager-Rätsel im Vergleich zum Vorjahr relativ einfach, sobald man denn Rundgang frei hatte, durfte man einfach nichts mehr in den Weg stellen und konnte die Kistengruppen dann einzeln lösen.
Die 512 ist auch gut zu schaffen, da auch bei "Nicht-Zügen" neue Felder entstehen.
Den Sodukubus von heute fand ich ziemlich genial, wusste ich gar nicht das sowas existiert.
Es ist zwar noch nicht ganz Richtfest, aber an dieser Stelle schonmal ein herzliches Dankeschön an Mathematiker für die Verrätselung der Adventszeit.
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Do 11.12.14 15:11
Ich schob wesentlich mehr Kisten in die Lageröffnung unten rechts hinein.
|
|
ub60
Beiträge: 762
Erhaltene Danke: 127
|
Verfasst: Do 11.12.14 16:09
Delphi-Laie hat folgendes geschrieben : | Manche scheinen einen erstaunlichen Ehrgeiz zu entwickeln, wenn die sogar Programme schreiben, die ihnen bei der Lösungssuche helfen. |
Ist ja auch ein Programmiererforum.
Ich bin über jedes Problem froh, bei dem ich wieder ein Programm schreiben "darf".
@mathematiker: Ich hoffe, Du findest weiterhin die Zeit. Schon seit Wochen freue ich mich auf die täglichen Adventsrätsel.
ub60
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 11.12.14 16:17
Wie in der SB angekündigt, war mein Ansatz auch heute wieder mit etwas Prolog-Code ... Geht wunderbar, kann ich ja, wenn alle ihre Lösung haben, mal posten ...
Delphi-Laie hat folgendes geschrieben : | Manche scheinen einen erstaunlichen Ehrgeiz zu entwickeln, wenn die sogar Programme schreiben, die ihnen bei der Lösungssuche helfen. |
Warum selber denken, wenn man vor sich einen Computer stehen hat? Zumal anhand der bei mir gewählten Programmiersprahe klar sein dürfte, warum ich sie wähle (Und ja, ich könnte auch Haskell nehmen).
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Fr 12.12.14 00:46
Hallo,
das heutige Problem kann man auch mittels Programm lösen.
Die Eingabe in eine Konstante in das Konsolenprogramm war etwas umständlich.
Das nächste Mal werde ich die Bereichsprüfung erstmal einschalten, die erste 9 fehlte
Auch ein leeres Feld hat in Sekundenbruchteilen und 9.807.483 Schritten eine Lösung.
Gruß Horst
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Fr 12.12.14 12:02
Hallo Mitspieler,
mit dem heutigen Mathe-Rätsel habe ich wohl ein paar Probleme bereitet.
Ihr dürft mir glauben: Mit nur etwas Elementarmathematik der 9.Klasse kann man es wirklich schnell lösen. Und es geht sogar mit einem kleinen Programm. Wirklich.
Oliver Marx hat mich darauf hingewiesen (Vielen Dank!), dass folgende Zusatzerklärung noch wichtig ist:
Der größte gemeinsame Teiler ggT von Zähler und Nenner muss 1 sein.
Hätte ich auch gleich in den Text schreiben können. Hab's aber vergessen.
Ansonsten wünsche ich weiteres gutes Rätseln.
Morgen gibt's wieder etwas zum Klicken und Verschieben, übermorgen etwas für schnelle Finger. Mathematik kommt erst in ein paar Tagen wieder.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Für diesen Beitrag haben gedankt: Oliver Marx, trm
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Fr 12.12.14 22:29
Das heutige Rätsel ist sogar mit intelligenter Intuition recht einfach und schnell zu lösen - und damit meine ich kein brachiales Ausprobieren.
|
|
trm
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: Fr 12.12.14 22:29
Ich habe auch diesmal ein kleines Tool geschrieben
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
|
|
Jann1k
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Fr 12.12.14 22:32
Also ich bin da auf die Auflösung gespannt, die Mathematik dahinter ist mir noch nicht allzu klar...
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Fr 12.12.14 23:11
Hallo,
das Matherätsel von heute war doch schwerer, als ich zuerst angenommen habe. Ich denke, übermorgen kann ich auflösen. Solange müssen wir aber noch warten.
Delphi-Laie hat folgendes geschrieben : | Das heutige Rätsel ist sogar mit intelligenter Intuition recht einfach und schnell zu lösen - und damit meine ich kein brachiales Ausprobieren. |
Kann ich mir vorstellen. Nach dem offiziellen Ende des Rätsels von heute würde es mich interessieren.
trm hat folgendes geschrieben : | Ich habe auch diesmal ein kleines Tool geschrieben |
Habe ich auch. Meine "grafische" Lösung werde ich zeigen.
Jann1k hat folgendes geschrieben : | Also ich bin da auf die Auflösung gespannt, die Mathematik dahinter ist mir noch nicht allzu klar... |
Du hast doch aber die Lösung.
Da ich mit derartigen Aufgaben öfters zu tun habe, "sehe" ich oft den Lösungsansatz und glaube daher oft, dass es andere auch sofort sehen. Ich werde zuerst die rechnerische Lösung vorstellen. Sie ist, wenn man die richtige Idee hat, nicht kompliziert.
Immerhin gibt es schon 22 Lösungen. Das ist toll und es werden bestimmt noch mehr.
Zum Rätsel vom 11.12., dem Sudokubus:
Alle Freischaltungen für Punkte sind beendet, daher kurz ein paar Bemerkungen.
Selbstverständlich geht es wieder mit BruteForce. Ich weiß, dass einige von euch kleine Programme geschrieben haben. Es wäre schön, wenn sie diese hier zeigen könnten.
Ich bevorzuge bei diesem Spiel das logische Vorgehen. Da bei jedem Start eine neue Ausgangssituation erzeugt wird, versuche ich es allgemein zu erklären.
Zuerst sucht man, welche Ziffern genau 2 mal vorgegeben sind. Für diese ermittelt man die waagerechte Ebene, in der die Ziffer nicht auftritt, sowie die entsprechenden Seitenebenen. Im Schnittpunkt muss die Ziffer eingetragen werden.
Für jede Ziffer, die nur 1 mal vorgegeben wurde, geht man genauso vor. Im Allgemeinen erhält man mehrere Möglichkeiten.
Macht man das für jede dieser Ziffern (z.B. auf Papier!) ergibt sich oft eine eindeutige Zuordnung. Wenn nicht, kann man frei setzen.
Das gilt auch für Ziffern, die gar nicht vorgegeben wurden.
Damit ist ein Sudokubus nicht immer eindeutig lösbar.
Meine Erklärung ist vielleicht etwas wirr. Deshalb findet ihr unter www.entwickler-ecke....ewtopic.php?t=113760 ein kleines Testprogramm für Sudokubus.
Ansonsten haben wir heute Bergfest. 42 aktive Mitspieler und bisher 384 Lösungen sind sehr schön.
Viel Spaß weiterhin. Und lasst euch nicht entmutigen, wenn das eine oder andere nachfolgende Rätsel doch etwas schwerer wird.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Fr 12.12.14 23:52
Hallo,
Ich habe da etwas konfuses komponiert.
Immer noch so langsam mit 88 Takten pro Aufruf CheckInsert.
Das Prinzip ist einfach.Die Koordinaten des Kubus kann man ja nummerieren und man geht ja von einer zur nächsten und braucht also nicht x,y,z mitschleppen, aber dafür muß ich wissen in welcher Ebene der Punkt gerade ist. Deshalb direkt Zeiger darauf.Statt ständiges rechnen.
Das Einfügung eine Wertes verändert die Belegung der betroffenen Ebenen, deshalb brauche ich keine Daten mehr kopieren, ich kenne sie nach dem Init.
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: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247:
| {$IFDEF FPC} {$MODE DElphi} {$ENDIF} uses crt,sysutils;
type tDim = 0..2; tValues = LongInt; ptValues = ^tValues;
const rowCnt = (High(tDim)-Low(tDim)+1); EbCnt = 3*rowCnt; CubCnt = rowCnt*rowCnt*rowCnt; Maske : array[1..EbCnt] of tValues =(2,4,8,16,32,64,128,256,512); InvMaske : array[1..EbCnt] of tValues =(NOT(2),NOT(4),NOT(8),NOT(16), NOT(32),NOT(64),NOT(128),NOT(256),NOT(512));
type tcbItm = byte; tcube = array[tDim,tDim,tDim] of tcbItm; tKoor = record x,y,z,n: tDim; end; tpKoor =^tKoor; tNtoKoor = array[0..CubCnt-1] of tKoor;
tEbenen = array[tDim] of tValues; TUebergabe= record pX,pY,pZ :ptValues; ubWert : tValues; end; tUebergabeStack = array[0..CubCnt] of TUebergabe;
const
cCube : tCube =(((0,2,0), (0,5,0), (3,0,0)), ((0,0,3), (2,8,0), (0,0,5)), ((5,0,9), (4,0,0), (0,0,0))); var gblCount : Int64; T1,T0 : tDateTIme;
gblInsCount,gblloescnt : integer; USt : tUebergabeStack; EbeneX, EbeneY, EbeneZ : tEbenen; Cube : tCube; IntoKoor :tNtoKoor;
procedure Ausgabe;
var i : integer; Begin gotoxy(1,3); For i := 1 to CubCnt do Begin write(USt[i-1].ubWert:3); IF i Mod 3 = 0then begin writeln; IF i Mod 9 = 0 then writeln; end; end; end;
procedure AusgabeLoes; begin inc(gblloescnt); IF gblloescnt < 1000 then Begin IF gblloescnt < 10 then Ausgabe; GotoXy(1,14); writeln('Loesungen: ',gblloescnt,' bei ',gblCount, ' nach ',FormatDateTime(' NN:SS.ZZZ',Time-T1)); T1 := time; end; end;
procedure AusgabeGbl; begin GotoXy(1,16); write('Loesungen: ',gblloescnt,' bei ',gblCount, ' nach ',FormatDateTime(' NN:SS.ZZZ',Time-T1)); If keypressed then Begin writeln; Halt(0); end; end;
procedure Insert(Wert:integer); var M : tValues; begin WITh USt[gblInsCount] do begin M := Maske[Wert]; ubWert := Wert; pX^:= pX^ OR M; pY^:= pY^ OR M; pZ^:= pZ^ OR M; end; inc(gblInsCount); end;
procedure remove; var M : integer; begin M:= gblInsCount-1; gblInsCount := M; with USt[M] do Begin M := InvMaske[ubWert]; ubWert := 0; pX^:= pX^ AND M; pY^:= pY^ AND M; pZ^:= pZ^ AND M; end; end;
procedure CheckInsert; var Mask,Wert : integer; begin IF Lo(gblCount) AND (1 shl 25 -1) = 0 then AusgabeGbl; IF gblInsCount = CubCnt then AusgabeLoes else with USt[gblInsCount] do Begin inc(gblCount); Mask :=pX^ OR pY^ OR pZ^; IF ubWert = 0 then Begin Wert := 1; Repeat IF (MASk AND Maske[Wert])=0 then Begin Insert(Wert); CheckInsert; remove; end; inc(Wert); until Wert > 9; end else Begin inc(gblInsCount); CheckInsert; dec(gblInsCount); end; end; end;
procedure ReadKonstCube; var Wert,i: integer; Begin For i := 0 to CubCnt-1 do With IntoKoor[i] do Begin wert := cCube[x,y,z]; gblInsCount := i; IF Wert <> 0 then Insert(Wert); end; gblInsCount := 0; end;
procedure Init(ReadKonstante:Boolean); var pUst : ^tUebergabe; pKoor :tpKoor; x,y,z : tDim;
begin clrscr; fillchar(UST, SizeOf(USt),#0); fillchar(EbeneX, SIzeOf(tEbenen),#0); fillchar(EbeneY, SIzeOf(tEbenen),#0); fillchar(EbeneZ, SIzeOf(tEbenen),#0); fillchar(cube, SizeOf(Cube),#0);
gblInsCount := 0; gblCount := 0;
pUst := @UST[0]; pKoor := @IntoKoor[0]; For x := Low(tDim) to high(tDim) do For y := Low(tDim) to high(tDim) do For z := Low(tDim) to high(tDim) do Begin with pUst^ do Begin ubWert:= 0; pX := @EbeneX[x]; pY := @EbeneY[y]; pZ := @EbeneZ[z]; pKoor.z := z; pKoor.y := y; pKoor.x := x; end; inc(pUst); inc(pKoor); end; IF ReadKonstante then ReadKonstCube;
Ausgabe;
T0 := time; T1 := T0; end;
begin Init(false); CheckInsert; writeln; end. |
Es gibt auch meist mehrere Lösungen
Gruß Horst
Edit: Ein wenig aufgeräumt
Für diesen Beitrag haben gedankt: Mathematiker
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Sa 13.12.14 16:06
Den Sudo-Kubus habe ich mit Prolog gelöst:
Wir definieren ein Paar Helfer-Funktionen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| plane(P11,P12,P13,P21,P22,P23,P31,P32,P33) :- permutation([P11,P12,P13,P21,P22,P23,P31,P32,P33],[1,2,3,4,5,6,7,8,9]).
cube(C111,C112,C113,C121,C122,C123,C131,C132,C133,C211,C212,C213,C221,C222,C223,C231,C232,C233,C311,C312,C313,C321,C322,C323,C331,C332,C333) :- plane(C111,C112,C113,C121,C122,C123,C131,C132,C133), plane(C211,C212,C213,C221,C222,C223,C231,C232,C233), plane(C311,C312,C313,C321,C322,C323,C331,C332,C333),
plane(C111,C112,C113,C211,C212,C213,C311,C312,C313), plane(C121,C122,C123,C221,C222,C223,C321,C322,C323), plane(C131,C132,C133,C231,C232,C233,C331,C332,C333),
plane(C111,C121,C131,C211,C221,C231,C311,C321,C331), plane(C112,C122,C132,C212,C222,C232,C312,C322,C332), plane(C113,C123,C133,C213,C223,C233,C313,C323,C333),
true. |
Und brauchen dann lediglich in der Konsole fragen:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| ?- cube(C111,C112,C113,C121,8,C123,C131,C132,C133, 3,C212,1,5,9,C223,C231,6,8, C311,4,6,2,C322,3,C331,C332,5). C111 = C223, C223 = C332, C332 = 7, C112 = 5, C113 = C331, C331 = 9, C121 = 6, C123 = C231, C231 = 4, C131 = C322, C322 = 1, C132 = 3, C133 = C212, C212 = 2, C311 = 8 |
Die Lösung braucht etwas, aber das stört ja nicht
Anzumerken sei hierbei, dass die Ziffern immer von vorne oben links nach hinten unten rechts wachsen. Parameter mit einem Buchstaben ersetzt Prolog symbolisch, vorgegebene Werte stehen direkt als Aufruf-Parameter drin.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Für diesen Beitrag haben gedankt: Mathematiker, ub60
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Sa 13.12.14 22:30
Hallo,
das Matherätsel vom 12.12. wurde zwar von vielen gelöst, bereitete aber scheinbar doch einige Schwierigkeiten.
Die Aufgabe entstammt dem Wasan, der "japanischen Mathematik" während der Edo-Zeit (1603-1867). Eine besondere Form des Wasan ist das Sangaku ( de.wikipedia.org/wiki/Sangaku), d.h. Holztafeln, auf denen geometrische Rätsel beschrieben wurden. Diese Tafeln wurden in Tempeln als Dank für eine Shinto-Gottheit ausgehängt.
Es ist faszinierend, welche Probleme gestellt wurden und wie man diese löste. Einige sind auch heute noch extrem anspruchsvoll.
Hier meine Lösungsvorschläge für die Aufgabe vom 12.12.:
1) Rechnerisch
Zeichnet man in die Darstellung einige Strecken ein, u.a. die Verbindungslinien der Kreismittelpunkte und Senkrechte, so entstehen zwei rechtwinklige Dreiecke. Das untere Dreieck in der Abbildung ermöglicht den Radius der roten Halbkreise zu berechnen.
Sind die Quadratseite = 1 und der rote Kreisradius = a, so wird mit dem Satz des Pythagoras
(1/2 + a)² = (1/2)² + (1-a)²
Mittels binomischer Formeln; das Quadrat a² hebt sich heraus; wird a = 1/3.
Das 2.Dreieck ist schwieriger zu finden. Ist R der gesuchte Kreisradius, so wird für die Hypotenuse R+a = R+1/3 und für die Katheten 1/2 sowie 1/3-R, d.h.
(R+1/3)² = (1/2)² + (1/3-R)²
Diese lineare(!) Gleichung hat nur eine Lösung: R = 3/16.
2) Grafische Näherung
Dazu habe ich das angehängte kleine Programm geschrieben. Über 4 Schalter können die roten Kreise und der weiße gesuchte Kreis in ihrer Größe verändert werden. Das macht man solange, bis sie sich direkt berühren.
Setzt man nun den Radius R mit der Seitenlänge ins Verhältnis, erhält man das Gesuchte. Allerdings müssen die Zahlenwerte vollständig gekürzt werden, d.h. ohne ggT-Berechnung geht es nicht.
Ein Problem ist die Breite b des Quadrates. b sollte möglichst eine Zahl mit vielen Teilern sein, damit man auch für die zwei Kreise möglichst ganzzahlige Werte erhält. Der gesuchte Radius sollte ja eine gebrochene und keine irrationale Zahl sein.
Ich habe 480 gewählt, da sie viele Primfaktoren 2, 3 und 5 enthält. Würde man dort nichts Vernünftiges erhalten, kann man auch 490 (Primfaktor 7) oder irgendein Vielfaches testen. Man braucht etwas Glück.
3) Messung und Raten
Kopiert man die Abbildung in ein Grafikprogramm, so kann man die Quadratbreite zu etwa 330 Pixel messen. Mit etwas Geduld misst man für den Kreisradius 63 Pixel.
Als Ergebnis erhält man R = 21/110. Das wird als falsch zurückgewiesen.
Nun beginnt das Raten. Wahrscheinlich sind die letzten Pixel nicht ganz genau. Es ist 21 = 3*7 und so testet man eben einen naheliegenden Nenner, der durch 3 oder 7 teilbar ist, d.h. 21/111=7/37 (falsch), 21/112 = 3/16 ... und richtig.
Vielleicht gibt es aber auch andere Lösungsideen.
Beste Grüße
Mathematiker
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Für diesen Beitrag haben gedankt: Christian S.
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 14.12.14 00:03
Also ich hab basierend auf den Informationen auf dieser Seite. Unter dem Abschnitt "Lösung" findet man die Angabe für s_1. Weiter oben findet man auf der Seite auch, dass der rechte Kreis den Radius \frac{1}{3} hat. Womit sich die Gleichung für den weißen Kreis recht schnell auflösen lässt. Somit ergibt sich dann für den Weißen Kreis mit wenigen Umformungen \frac{3}{16}.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Zuletzt bearbeitet von BenBE am So 14.12.14 01:45, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Oliver Marx
Beiträge: 80
Erhaltene Danke: 18
Win 7 Prof.
Delphi XE Prof.
|
Verfasst: So 14.12.14 00:41
Hi,
hier noch meine Lösung nach dem Motto: Warum einfach, wenn es auch kompliziert geht!
Pi = (Xi,Yi)
P1 = (1/2;0)
P2 mit Pythagoras:
(X2-X1)^2+(Y2-Y1)^2 = (X1+1-Y2)^2
(0-1/2)^2+(Y2-0)^2 = (1/2+1-Y2)^2
=> Y2 = 2/3
=> P2 = (0;2/3)
=> Y3 = Y2-(1-Y2) = 1/3
=> P3 = (0;1/3)
g2: y = m2*x+n2
mit P3 auf g2:
1/3 = m2*0+n2
=> n2 = 1/3
mit P4 auf g2:
1 = m2*1/2+1/3
=> m2 = 4/3
=> g2: y = 4/3*x+1/3
Schnittpunkt S ist Schnittpunkt von g2 mit Kreis um P2
Daher gilt:
Ys = 4/3*Xs+1/3
(Xs-X2)^2+(Ys-Y2)^2 = (1/3)^2, bzw. (Xs-0)^2+(Ys-2/3)^2 = (1/3)^2
2 Gleichungen, 2 Unbekannte ergibt n.k.t.R.: S = (8/25;57/75)
g3: y = m3*x+n3
mit P2 auf g3:
2/3 = m3*0+n3
=> n3 = 2/3
und S auf g3:
57/75 = m3*8/25+2/3
=> m3 = 7/24
=> g3: y = 7/24*x+2/3
da X0=1/2 und P0 auf g3:
Y0 = 7/24*1/2+2/3
=> Y0 = 39/48
Der gesuchte Radius R ist: R = 1-Y0
=> R = 9/48 = 3/16
Einloggen, um Attachments anzusehen!
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Th69
Beiträge: 4765
Erhaltene Danke: 1052
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: So 14.12.14 10:36
Ich habe dann wohl einfach geraten, denn ich habe einfach geschaut, wie oft der gelbe Kreis in den weißen und dunkelblauen paßt (vertikal) - und angenommen, daß der gelbe Kreis auch gerade zwischen die beiden paßt. Und dann kam das Verhältnis 3:4 raus. d.h. 3/8 für den weißen und 4/8 für den blauen Kreis. Und da aber der Radius gesucht war, also 3/16.
PS: Gestern habe ich leider das Tetris-Weihnachtsbaum-Rätsel nicht geschafft, obwohl ich einige Anläufe unternommen hatte. Ich habe zwar auch ein Programm dafür, aber das wäre Schummeln für mich.
Heute habe ich aber den Ausgang des Labyrinths auf Anhieb (in 1:40) gefunden, juhu!
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: So 14.12.14 11:19
Mathematiker hat folgendes geschrieben : | Delphi-Laie hat folgendes geschrieben : | Das heutige Rätsel ist sogar mit intelligenter Intuition recht einfach und schnell zu lösen - und damit meine ich kein brachiales Ausprobieren. |
Kann ich mir vorstellen. Nach dem offiziellen Ende des Rätsels von heute würde es mich interessieren. |
Das ist rasch erklärt, Mathematiker. Daß es sich um ein rationales Verhältnis handelt, war ja anhand der Aufgabenstellung schon gegeben. Ich hoffte auf ein niedrigzahliges. So vom Augenmaß her nahm ich 2/3 oder eher noch 3/4 an, die der Durchmesser des Kreises die halbe Seitenlänge des Quadrates ausfüllt. Die Seitenlänge ist ja mit 1 normiert. Der Burch mußte dann nur noch zweimal halbiert, der Nenner also zweimal verdoppelt werden, zum einen, weil dieses Verhältnis Kreisdurchmesser zu halber Seitenlänge des Quadrates besteht, zum anderen, weil nur der Radius gesucht war. Schwuppdiwupp war ich bei 3/16 und lag damit sogar richtig, was mich selbst überraschte.
Du siehst also, daß man manchmal auch nur mit Mogeln / Schummeln sich durch das Leben winden kann - aber das kennst Du ja von Deiner Klientel sicher zur Genüge, nicht wahr?
Zuletzt bearbeitet von Delphi-Laie am So 14.12.14 11:37, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Mathematiker
|
|
|