Autor Beitrag
TmpDir
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53
Erhaltene Danke: 3

Win7HP Win8.1 Deb/Ubuntu
C# [Delphi 6 Pro, Delphi 2005 PE, TurboDelphi PE]
BeitragVerfasst: Fr 05.12.14 14:59 
@Mathematiker: Verägerung nein, macht ja spass zu rätseln.

Verwirrung :? ja :)

Lt. deiner Aussage sollte man ja auch ruhig mal abschalten eh, ausschalten können.

_________________
repeat :autsch: until :think:
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 05.12.14 15:09 
Ok, ich hab's kapiert.
Meine Aussagen widersprechen sich. Ich bin schuldig.

Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Oliver Marx
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 80
Erhaltene Danke: 18

Win 7 Prof.
Delphi XE Prof.
BeitragVerfasst: Fr 05.12.14 16:42 
user profile iconMathematiker, ich spreche dich schuldig einen exzellenten Adventskalender entwickelt zu haben. :wink:
Auch wenn man wegen Missverständnissen mal einen Punkt verliert, so ist das eigentliche Ziel doch das Lösen der Rätsel.

Für diesen Beitrag haben gedankt: Narses
Cybersurfer
Hält's aus hier
Beiträge: 7
Erhaltene Danke: 3



BeitragVerfasst: Fr 05.12.14 20:30 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,
ich versuche es zu erklären, am Beispiel des 4.Rätsels, also vom 4.12.

Von 0.00 Uhr bis 23.59 Uhr am 4.12. ist das Rätsel freigeschaltet mit(!) Ergebnisabgabe. D.h., wird im Kalender der Dialog vom 4.12. in dieser Zeit gestartet, erhält man die entsprechende Freischaltung, welche dann 24 Stunden aktiv ist.
Schließt man den Dialog, ist die aktuelle Freischaltung beendet. Startet man den Dialog erneut, so erhält man eine erneute Freischaltung nur, wenn der Startzeitpunkt zwischen 0.00 Uhr und 23.59 Uhr am 4.12. liegt.
Holt man sich eine solche Freischaltung bis 23.59 Uhr am 4.12., so bleibt das "Recht" zur Lösungsabgabe ab diesem Moment wieder 24 Stunden.

Folgendes geht deshalb zum Beispiel nicht. Ich starte den Dialog erstmals am 4.12. 13 Uhr, schließe ihn aber um 14 Uhr. Nach dem ich eine Lösung gefunden habe, starte ich den Dialog um beispielweise 1 Uhr am 5.12. Dies ist zwar noch in den 24 Stunden nach dem aller ersten Start, aber eine erneute Freischaltung geht "nur" bis 23.59 Uhr.

Ich hoffe, ich habe es einigermaßen erklärt.
Schade, wenn es die eine oder andere Verärgerung gibt.

Dennoch wünsche ich weiteres gutes Rätseln. :D
Mathematiker


Hätte ich das mal früher gewusst :(

Mein Programm hat übrigens 8,7 Std. benötigt die Lösung zu finden.
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 05.12.14 20:52 
Es gibt wirklich Teilnehmer, die ein Programm schreiben?

Ich habe das mit Zettel (ein halber A4 hat gereicht) und Stift gemacht.. :-/

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 05.12.14 20:54 
Hallo,
da keine Anmeldung für den 4.12. mehr aktiv ist, gebe ich wenige Anmerkungen zu den Aufgaben vom 3. und 4.12.:

3.12.
Die 20 blauen Kugeln links oben müssen durch das Gitter fallen und sich in Diamanten verwandeln. Dazu muss man sich einen Weg vorbei an den 2 Monstern suchen. Ansonsten muss man eben "vorsichtig" zum Ausgang laufen.
siehe auch: www.entwickler-ecke....amp;highlight=digger

4.12.
E kann nicht 2 oder größer sein, da selbst mit Übertrag die 2 fünfstelligen Zahlen THREE kein sechsstelliges ELEVEN ergeben.
Man kann durch analoge Überlegung erkennen, dass T mindestens 4 sein muss. T=9 ist nicht möglich, da H+H eine Zahl mit Einerziffer 1 ergeben soll, d.h. ein Übertrag auftritt.

Damit sind die Möglichkeiten schon eingeschränkt. Mit Brute Force erhält man, je nach Berücksichtigung der Einschränkungen, verschiedene Lösungen.
Mein (wirklich nicht elegantes) Delphi-Programm im Anhang liefert nach Start sofort die eindeutige Lösung:
THREE TWO ONE ELEVEN
84611 803 391 171219
Dabei habe ich nicht einmal die Einschränkung von T berücksichtigt.
Selbst ohne Test auf die Zehnerstelle von ELEVEN = 1L1V1N erhält man 19 Lösungen, von denen nur die letzte Zeile korrekt ist.
D.h.: T=8, H=4, R=6, E=1, W=0, O=3, N=9, L=7 und V=2

Natürlich ist mir klar, dass es bessere Lösungsvarianten gibt.
Übrigens: Zieht man logisch alle Möglichkeiten schrittweise durch, gelangt man am Ende mit etwas Aufwand zu der einen Lösung.

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
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 432
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: Fr 05.12.14 21:20 
trm, ja, in der Tat! Nachdem mir das Papier ausging (ich hatte nur 2 A4-Blätter zur Verfügung) wollte ich es wissen, außerdem interessierte mich, wie lange ein kleines Brutus-Programm braucht. Damit kommen wir zu

cybersurfer: Ich hab es mit Delphi mit ein paar for-schleifen gemacht, mein Zeitbedarf lag bei ca. 5sek auf dem alten Laptop. Davon war ich selbst überrascht, es waren keine besonderen Optimierungen enthalten außer eben der Test daß jeder Platzhalter eine andere Ziffer darstellen muß.
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1654
Erhaltene Danke: 244

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Fr 05.12.14 21:58 
Hallo,

So langsam ist das nicht, irdensowas um 3 ms.
Bei inuse o, n hatte ich mich mal vertan und vergessen n wieder auszutragen. e hatte ich auch mal auf 1..2 beschränkt, aber mal als Test, ob da noch was kommt 1..9.
ausblenden volle Höhe Delphi-Quelltext
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:
{$IFNDEF FPC}
  {$APPTAYPE CONSOLE}
{$ENDIF}

{
THREE + TWO + ONE + TWO + THREE = ELEVEN
(T>0, O>0, E>0) gelöst werden, bei dem jeder
Buchstabe eine anderen Ziffer entspricht.
Wie lautet denn die Lösung?
}

var
  InUse : array[0..9of boolean;
  t,h,r,e,o,w,n,l,v : longint;
  one, two,three,eleven : longint;
begin
  fillchar(InUse,SizeOf(inUse),#0);
  For r := 0 to 9 do
  begin
    InUse[r] := true;
    For w := 0 to 9 do
    begin
      IF InUse[w] then
        continue;
      InUse[w] := true;
      For h := 0 to 9 do
      begin
        IF InUse[h] then
          continue;
        InUse[h] := true;
        For t := 1 to 9 do
        begin
          IF InUse[t] then
            continue;
          InUse[t] := true;
          For e := 1 to 9 do
          begin
            IF InUse[e] then
              continue;
            InUse[e] := true;
            For o := 1 to 9 do
            begin
              IF InUse[o] then
                continue;
              InUse[o] := true;

              n := (3*e+2*o) MOD 10;
              IF InUse[n] then
              Begin
                InUse[o] := false;
                continue;
              end;

              InUse[n] := true;
              three := ((((t*10+h)*10+r)*10+e)*10+e);
              two := ((t*10+w)*10+o);
              one := (o*10+n)*10+e;
              eleven := 2*three+2*two+one;
              IF eleven MOD 100 <> 10*E+N then
              Begin
                InUse[o] := false;
                InUse[n] := false;
                continue;
              end;

              if (eleven div 1000) = e then
                if (eleven div 100000Mod 10 = e then
                Begin
                  v := (eleven div 100Mod 10;
                  IF Not(InUse[v]) then
                  begin
                    l := (eleven div 10000Mod 10;
                    IF NOT(InUse[l]) AND (l<>v) then
                    begin
                      write ('ONE ',one,' TWO ',two,' THREE ',Three);
                      writeln(' ELEVEN ',eleven);
                    end;
                  end;
                  InUse[o] := false;
                  InUse[n] := false;
                  continue;
                end;
                inuse[o] := false;
                InUse[n] := false;
                end;
               //
             inuse[e] := false;
             end;
           inuse[t] := false;
           end;
         inuse[h] := false;
         end;
       inuse[w] := false;
       end;
     inuse[r] := false;
     end;
{$IFDEF WINDOWS}
   readln;
{$ENDIF}
end.


Gruß Horst

Für diesen Beitrag haben gedankt: Mathematiker
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Fr 05.12.14 22:58 
Hab Rätsel 4 zuerst versucht per Hand zu Lösung und mich dabei ständig zettelt.
Nach fast 2 Stunden hab ich es dann wie BenBE in Prolog gemacht.

Hab mal das entsprechende Prologstatement angehangen.
Einloggen, um Attachments anzusehen!

Für diesen Beitrag haben gedankt: Mathematiker
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 06.12.14 01:19 
In der Walze gibt es eine unverhoffte Hilfe.. ;)

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Sa 06.12.14 01:27 
Toll! :autsch: :autsch: :autsch:
Der heutige Tag ist nicht meiner! :motz:
Na ja, so ist das eben. Das meiner Meinung nach schwierigste Rätsel, mit dem größten Programmieraufwand, wird zum Punktelieferanten. :gruebel:

Ich gehe jetzt in's Bett. :evil:
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Oliver Marx
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 80
Erhaltene Danke: 18

Win 7 Prof.
Delphi XE Prof.
BeitragVerfasst: Sa 06.12.14 01:29 
Dann bin ich aber total blind... :cry:
Oder auch doch nicht. :D


Zuletzt bearbeitet von Oliver Marx am Sa 06.12.14 01:31, insgesamt 1-mal bearbeitet
dsi
Hält's aus hier
Beiträge: 22
Erhaltene Danke: 8



BeitragVerfasst: Sa 06.12.14 01:29 
Diese Hilfe hat bei mir viel zu schnell zugeschlagen.
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 06.12.14 01:47 
Ich sehe es, dsi :D

Aber lösbar ist es auch ohne die Hilfe, durch bloßes zugucken und zählen :)

13 Schritte - oder, wenn man es anders zählt - nur 7 ;)



Mathematiker, Du bist echt genial - oder sind das Aufgaben, die Du Deinen Schülern gestellt hast, so als Hausarbeit?

:D


LG, schönen 2. Advent.

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Sa 06.12.14 02:58 
Bei mir sah das ungefähr so aus:

ausblenden volle Höhe C#-Quelltext
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:
    private void Button_Click(object sender, RoutedEventArgs evta)
    {
      for (int t = 0; t < 10; t++)
      {
        for (int h = 0; h < 10; h++)
        {
          for (int r = 0; r < 10; r++)
          {
            for (int e = 0; e < 10; e++)
            {
              for (int w = 0; w < 10; w++)
              {
                for (int o = 0; o < 10; o++)
                {
                  for (int n = 0; n < 10; n++)
                  {
                    int result =
                      (t * 10000 + h * 1000 + r * 100 + e * 10 + e) * 2 + (t * 100 + w * 10 + o) * 2 + o * 100 + n * 10 + e;
                    if (result % 10 == n)
                    {
                      if (result % 100 / 10 == e && result % 10000 / 1000 == e && result % 1000000 / 100000 == e)
                      {
                        var l = result % 100000 / 10000;
                        var v = result % 1000 / 100;
                        if (AllUnequal(t, h, r, e, w, o, n, l, v))
                        {
                        Console.WriteLine(result);
                        Console.WriteLine("t:{0} h:{1} r:{2} e:{3} w:{4} o:{5} n:{6} l:{7} v:{8}", t, h, r, e, w, o, n, l, v);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

Unerwartet schnell, und es kommen drei Lösungen heraus. Von denen ist aber nur die Richtig, bei der E != 0 ist.

Für diesen Beitrag haben gedankt: Mathematiker
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Sa 06.12.14 08:52 
Also ohne die Hilfe hätte ich das heutige Rätsel wahrscheinlich nicht gemacht. Per Hand lösen geht zwar schnell, aber das ganze nur mit den Buttons wäre mir dann doch zu umständlich gewesen.


Zuletzt bearbeitet von Jann1k am Sa 06.12.14 11:55, insgesamt 1-mal bearbeitet
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 06.12.14 11:42 
Meine Lösung sah übrigens so aus... ;)


attachedImage
Einloggen, um Attachments anzusehen!
_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)


Zuletzt bearbeitet von trm am Sa 06.12.14 12:05, insgesamt 1-mal bearbeitet
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Sa 06.12.14 11:48 
Hallo,
schöne Lösung, wenngleich es schwierig ist, das zu verstehen.
Kannst du bitte die Abbildung etwas kleiner machen. Bei langsamen Internetverbindungen, wie meiner, sind 2 MB Bild nicht so schnell zu laden. :wink:
Und der Hinweis auf ein anderes Spiel muss nicht sein.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: So 07.12.14 06:24 
Sind die Lampen wirklich immer lösbar? (Kann sein dass ich jetzt einfach zu müde bin, aber ich habe den eindruck die Anordnung ist logisch nicht lösbar. Ich schaue es mir später nochmal an und setze dann einen screenshot rein. Sehr nervig übrigens das immer neu-generieren des rätsels beim klick auf "Zurücksetzen" - das wäre besser wenn das nur die Lampen entfernen würde.
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 07.12.14 06:49 
Hallo,
user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Sind die Lampen wirklich immer lösbar?

Ja, sind sie.

user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
Sehr nervig übrigens das immer neu-generieren des rätsels beim klick auf "Zurücksetzen" - das wäre besser wenn das nur die Lampen entfernen würde.

Das ist Ansichtssache. :wink: Dadurch wird es aber schwerer. :lol:

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein