Autor |
Beitrag |
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Sa 08.12.18 01:41
Da ist aber eine ganze Schaufel Glück dabei dass man nicht so viele schwerere Multiplikationen und Divisionen dabei hat ^^
_________________ 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)
Für diesen Beitrag haben gedankt: Hidden
|
|
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 08.12.18 02:35
_________________ 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 Sa 08.12.18 02:48, insgesamt 1-mal bearbeitet
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 08.12.18 02:45
Re: Steuerung - ich wollte mit Ctrl+A -> Del den Inhalt des Feldes leeren nachdem ich mich vertippt hatte und bekam ein Popup, welche Zeichen erlaubt sind. Das hat ein paar Sekunden gekostet^^
_________________ 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)
|
|
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: Sa 08.12.18 10:07
Eine hatte ich aber falsch, am Ende blitze noch was von 28 Aufgaben auf und dann wars weg...ging zu schnell
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 08.12.18 10:55
Auf die Idee, eines der klassischen magischen Quadrate nachzubauen, und dabei von jedem Feld eins abzuziehen, bin ich nicht gekommen.
daher habe ich mir Qucik&Dirty ein Programm geschrieben, das alle möglichen (soweit noch sinnvoll) Permutationen durchgeht, und dann die magischen Quadrate ausgibt. Davon habe ich dann eines nachgebaut.
Code
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:
| var Numbers: Array[0..15] of Integer;
procedure TForm2.OutputArray; begin Memo1.Lines.Add(IntTostr(Numbers[0]) + ' ' + IntTostr(Numbers[1]) + ' ' + IntTostr(Numbers[2]) + ' ' + IntTostr(Numbers[3]) + ' '); Memo1.Lines.Add(IntTostr(Numbers[4]) + ' ' + IntTostr(Numbers[5]) + ' ' + IntTostr(Numbers[6]) + ' ' + IntTostr(Numbers[7]) + ' '); Memo1.Lines.Add(IntTostr(Numbers[8]) + ' ' + IntTostr(Numbers[9]) + ' ' + IntTostr(Numbers[10]) + ' ' + IntTostr(Numbers[11]) + ' '); Memo1.Lines.Add(IntTostr(Numbers[12]) + ' ' + IntTostr(Numbers[13]) + ' ' + IntTostr(Numbers[14]) + ' ' + IntTostr(Numbers[15]) + ' '); Memo1.Lines.Add('-----------------------') end;
procedure swap (idxA, idxB: Integer); var tmp : Integer; begin tmp := Numbers[idxA]; Numbers[idxA] := Numbers[idxB]; Numbers[idxB] := tmp; end;
function CheckLine(x: Integer): Boolean; begin result := Numbers[4*x] + Numbers[4*x + 1] + Numbers[4*x + 2] + Numbers[4*x + 3] = 30; end;
function CheckColumn(x: Integer): Boolean; begin result := Numbers[x] + Numbers[x + 4] + Numbers[x + 8] + Numbers[x + 12] = 30; end;
function CheckDiags: boolean; begin result := (Numbers[0] + Numbers[5] + Numbers[10] + Numbers[15] = 30) and (Numbers[3] + Numbers[6] + Numbers[9] + Numbers[12] = 30) end;
function CheckAll: Boolean; begin result := CheckColumn(0) and CheckColumn(1) and CheckColumn(2) and CheckColumn(3) and CheckLine(0) and CheckLine(1) and CheckLine(2) and CheckLine(3) and CheckDiags; end;
procedure Permutate(startIdx: Integer); var i: Integer; DoPerm: Boolean; begin DoPerm := True; if (startIdx=4) and (NOT CheckLine(0)) then DoPerm := False;
if (startIdx=8) and (NOT CheckLine(1)) then DoPerm := False;
if (startIdx=12) and (NOT CheckLine(2)) then DoPerm := False;
if DoPerm then begin for i := startIdx + 1 to 15 do begin swap(startIdx, i); if CheckAll then Form2.OutputArray; Permutate(startIdx+1); end; end; end;
for i := 0 to 15 do Numbers[i] := i; Permutate(0); |
Das Ding rechnet dann ca. 10 Sekunden und spuckt dann 1076 Varianten aus.
_________________ We are, we were and will not be.
Für diesen Beitrag haben gedankt: Mathematiker, Narses, ub60
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Sa 08.12.18 12:38
Gausi hat folgendes geschrieben : | Das Ding rechnet dann ca. 10 Sekunden und spuckt dann 1076 Varianten aus. |
Ich habs mal ausprobiert - es sind 385 Varianten ohne Gedrehte oder gespiegelte auszusortieren Der Rest ist identisch
_________________ 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)
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Sa 08.12.18 13:45
Hallo,
also Aufgabe 8 nach einem Glas Sekt wegen Geburtstagfeier, ging gar nicht
Alkohol in kleinsten Menge macht am nächsten Tag schon einen Kater, als wäre man sturzbesoffen gewesen.
Deshalb bin ich immer der Fahrer
Gruß Horst
P.S.:
Werden die Aufgaben mit der Versuchszahl leichter? Hat ja nach zig Versuchen und einkaufen gehen einmal geklappt.
|
|
Schestex
Hält's aus hier
Beiträge: 18
Erhaltene Danke: 6
Win10 & Debian(Server)
Perl, Bash, TCL, C, python
|
Verfasst: Sa 08.12.18 14:38
Hallo Leute,
ein großes Danke an die Erschaffer! Der Kalender ist 1.Sahne!
Jedes Rätsel bis heute, hatte seine persönliche Klasse.
Bei den Wichteln hätte ich mir gern etwas mehr Text gewünscht!
Habe da viel Zeit in falsche Richtungen verschwendet.
Im heutigen Rätsel fehlt ein 't' & 'e' im Text!
for(t)laufend
angez(e)igt
Mögen euch die Wichtel ein paar Biere zusenden!
Für diesen Beitrag haben gedankt: Hidden
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Sa 08.12.18 15:14
Hallo,
Schestex hat folgendes geschrieben : | Im heutigen Rätsel fehlt ein 't' & 'e' im Text! |
manchmal denke ich, ein besonders boshafter Computertroll sitzt in meinem Rechner und verändert meine Texte.
Das ist natürlich Quatsch.
Man ließt es wieder und wieder und sieht die Fehler nicht!
Kaum hat man die Exe veröffentlicht, springen einem die Fehler sofort ins Auge.
Tut mit leid. Ich kann nur um Entschuldigung bitten.
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 08.12.18 17:17
_________________ We are, we were and will not be.
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Sa 08.12.18 17:29
Kannst du auch mal grob deinen Ansatz erklären?
Ich hab zwar jetzt 74 Lösungen, weiß aber auch nicht wiso es nur so wenige sind ^^
vielleicht ist es auch bei dir ein Rekursionsfehler
Auf dieser Seite gibt es auch einen interessanten Weg ein(!) magisches 4x4 Quadrat einfach per Hand zu finden:
www.mathematische-ba...en.de/magquadrat.htm
Und viele andere magische Dinge!
_________________ 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)
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Sa 08.12.18 20:06
Eine Lösung des Pentomino-Rätsels
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: Schestex
|
|
Schestex
Hält's aus hier
Beiträge: 18
Erhaltene Danke: 6
Win10 & Debian(Server)
Perl, Bash, TCL, C, python
|
Verfasst: Sa 08.12.18 20:49
Kann mich erinnern es ebenso gemacht zu haben.
Soeben mal versucht eine andere Lösung zu finden,
bekomme aber nur die Lösung mit 2 Ohren hin
Die Beine anders zu machen, ist ja absolut nicht möglich?!
Moderiert von Narses: Externes Bild als Anhang hochgeladen.
Einloggen, um Attachments anzusehen!
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 08.12.18 21:53
Schestex hat folgendes geschrieben : | Die Beine anders zu machen, ist ja absolut nicht möglich?! |
Jupp. Wenn man mit dem unteren linken Feld beginnt und von dort 5 Kästchen füllt, gibt es zum Beispiel nur zwei Möglichkeiten:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| ░ | ░ ░░░░ | ░░░░ ░░ ░░ | ░░ ░░ ░░░░░ | ░░░░░ ░░░░ | ░░░░ ░░ ░ | ░░ ░ ░░░░░░░░ | ░░░░░░░░ ░░░░░░░░ | ░░░░░░░░ ░░░░░░░░ | ░░░░░░░░ ░░ ░░ | █░ ░░ ███ ░░ | ██░ ░░ █ ░ ░ | █ ░ ░ █ ░ ░ | █ ░ ░ |
Die linke Möglichkeit schneidet das zweite Bein ab, und die Anzahl der Kästchen im abgeschnittenen Teil (2) ist nicht durch 5 teilbar. Das darf nicht sein, weil alle Steine aus genau 5 Kästchen bestehen und damit der Raum mit keiner Kombination gefüllt werden kann.
Nachdem ich die drei Beine (komisches Tier!) gefüllt hatte, habe ich als nächstes geschaut wo ich den "+"-Block unterbringen kann. Der schneidet nämlich in den meisten Positionen das arme Vieh in zwei Hälften, die die falsche Anzahl Kästchen haben. (Wieder nicht durch 5 teilbar.)
Nur zwei Positionen für das "+" sind damit möglich, und die eine führt nach einigem Probieren zum Widerspruch. Die andere führt zur Lösung.
Edit: Die sollte damit dann eindeutig sein, weil (iirc) jeder Stein zwangsläufig so positioniert werden musste.
_________________ 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)
Zuletzt bearbeitet von Hidden am So 09.12.18 00:06, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Mathematiker
|
|
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: Sa 08.12.18 22:09
@Hidden
Jetzt musste ich laut lachen, weil ich bisher nie wahrgenommen habe , das alle Teile 5 Kästchen haben haha. Dann ist wirklich schneller klar, ob der Rest in einem Teil des Puzzles durch 5 geht oder nicht.
|
|
ub60
Beiträge: 762
Erhaltene Danke: 127
|
Verfasst: Sa 08.12.18 23:23
Einloggen, um Attachments anzusehen!
Für diesen Beitrag haben gedankt: Delphi-Laie, Hidden, Mathematiker, Schestex
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Sa 08.12.18 23:59
Fietes Pentominopuzzle liefert für das Muster "Reh" genau die zwei Möglichkeiten.
www.entwickler-ecke....;highlight=pentomino
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 09.12.18 00:22
Upps, ja, der letzte Teil "ging" am Ende dann einfach. Da hatte ich nicht mehr systematisch probiert, und deshalb die zweite Möglichkeit nicht gesehen.
_________________ 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)
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: So 09.12.18 15:32
Es sind zwar noch ein paar Lösungsversuche beim "Kopfrechnen" offen, aber richtige Hinweise kann man so und so nicht geben.
Ich gestehe, dass ich überrascht bin über 35 Lösungen. Zwar hilft etwas Glück, dass möglichst keine Divisionen des großen Einmaleins kommen, dennoch hatte ich vermutet, dass es größere Probleme bereitet.
Daher: Gratulation zu den Kopfrechenfähigkeiten!
Irgendwie fehlt dieses Jahr die anspruchsvolle Aufgabe.
Aber vielleicht wird es ja noch.
Einen schönen 2.Advent
Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 09.12.18 15:48
Hey Steffen,
Ich hatte tatsächlich etwas Strategie für die Kopfrechenaufgabe gefunden.
Man hat 60 Sekunden für 20 Aufgaben, also 3 Sekunden pro Rechnung. Vorausgesetzt man kann die Aufgabe überhaupt lösen, dann muss die durchschnittliche Zeit pro Rechnung also 3 Sekunden oder weniger betragen.
Wenn man mehr als 6 Sekunden für eine Rechnung braucht, sollte man sie deshalb einfach überspringen indem man irgendwas eintippt. Die eingesparte Zeit investiert man dann besser, indem man zwei andere Aufgaben löst - die im Durchschnitt nach Voraussetzung ja weniger als 6 Sekunden brauchen.
Wer zum Beispiel Multiplikation und Division gar nicht kann, aber extrem gut bei Addition und Subtraktion ist, könnte versuchen alle "*" und "/" Aufgaben zu überspringen. Diese Person wird natürlich sehr viel Glück brauchen: Wenn die vier Aufgabentypen gleich häufig sind, ist das quasi ein Random Walk auf dem Zahlenstrahl; 50% Chance auf +1 Punkt, 50% Chance auf -1 Punkt.
Edit: Die Strategie könntest du verhindern, indem du bei falschen Antworten die Aufgabe nicht auflöst sondern einfach "Falsch!" zurückgibst. Der User müsste dann die selbe Aufgabe so lange lösen bis die Antwort richtig ist.
Edit2: Oder die Voraussetzung könnte "20 richtige Antworten in Folge, in den letzten 60 Sekunden" sein. Der Zähler würde dann bei jeder falschen Antwort wieder bei null losgehen.
_________________ 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)
Zuletzt bearbeitet von Hidden am So 09.12.18 19:46, insgesamt 2-mal bearbeitet
Für diesen Beitrag haben gedankt: Mathematiker
|
|
|