Autor Beitrag
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 11.12.18 19:45 
user profile iconSchestex hat folgendes geschrieben Zum zitierten Posting springen:
Hat dieses mathematische Spiel einen speziellen Namen?

Ja, "lateinische Summen".
U.a. enthalten in "Mathematik alpha" ( mathematikalpha.de/download ) unter dem Menüpunkt Logikspiele/Sudokuähnliche Rätsel und dann Auswahlfeld "Lateinische Summen".

LG Steffen

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

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Di 11.12.18 20:07 
Mir hat eine kleine Nachlässigkeit gute 15 Minuten gekostet, weil ich einen Teil der Aufgabenstellung mit einer zusätzlichen Einschränkung zuerst übersehen hatte und daher die erste abgetippte Lösung diese Einschränkung nicht beachtet hatte ...

Die zu ergänzen war kurz Copy&Paste und noch mal von Hand die neue Lösung eintragen ;-) Aber ohne Automatisiertes Backtracking mittels Computer wäre das doch etwas anstrengend geworden. :)

Naja, Code zu meiner Lösung poste ich später, wenn der 11. Tag zur allgemeinen Lösungsdiskussion freigegeben ist.

_________________
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.
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 11.12.18 21:50 
Hallo,
zu den Lösungen 9. und 10.:
Die Kisten wurden von fast allen erfolgreich verschoben, d.h. eine exakte Lösung ist nicht notwendig.

10.Rätsel:
Die Zahlen 1 bis 7 sind so in die 7 Kreise einzutragen, dass die Summe je dreier Zahlen, die durch eine Strecke miteinander verbunden sind, jeweils 12 ergibt.
fachsel
Lösung:
In jeder der 5 Dreiersummen kommt jede Zahl 2mal vor, die Zahl im mittleren Kreis 3mal. Die Summe der Zahlen von 1 bis 7 ist 28, die doppelte Summe 56; da auf 60 (5 Dreiersummen zu 12) die Zahl 4 fehlt, muss diese 3mal in der Gesamtsumme vorkommen und steht damit in der Mitte.
Die anderen Zahlen bilden Paare 1-7, 2-6 und 3-5, von denen je drei oben bzw. unten stehen müssen 6-1-5 und 3-7-2. Da es 6 Möglichkeiten gibt die Zahlen 1, 5, 6 zu permutieren und diese entweder oben oder unten stehen, gibt es somit insgesamt 12 verschiedene Lösungen des Rätsels.

Natürlich kann man die Aufgabe auch wieder mit "roher Gewalt" lösen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d,e,f,g : integer;
begin
  listbox1.Clear;
  for a:=1 to 7 do begin
    for b:=1 to 7 do begin
      if (a<>b) then
      for c:=1 to 7 do begin
        if (a<>c) and (b<>c) then
        for d:=1 to 7 do begin
          if (a<>d) and (b<>d) and (c<>d) then
          for e:=1 to 7 do begin
            if (a<>e) and (b<>e) and (c<>e) and (d<>e) then
            for f:=1 to 7 do begin
              for g:=1 to 7 do begin
                if (a+b+c=12and (a+d+g=12and (b+d+f=12and (c+d+e=12)
                   and (e+f+g=12then
                     listbox1.Items.add(inttostr(a)+#9+inttostr(b)+#9+inttostr(c)+#9
                       +inttostr(d)+#9+inttostr(e)+#9+inttostr(f)+#9+inttostr(g));
  endendendendendendend;
  label1.caption:=inttostr(listbox1.Items.Count)+' Möglichkeiten';
end;


Das heutige Rätsel ist wohl das bisher schwerste. Es sind noch viele Lösungsversuche offen.
Dafür wird es morgen sehr einfach, versprochen. :D

LG Steffen
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: Hidden
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Di 11.12.18 21:53 
10. Zahlenrätsel
ausblenden Quelltext
1:
2:
3:
a b c
  d
e f g


{a,b,c,d,e,f,g} = {1,2,3,4,5,6,7}

---

Für {x,y} aus {{a,g}, {b,f}, {c,e}} muss x + d + y = 12 sein. Durchprobieren der Möglichkeiten für d liefert:

d=7: x+y = 5 => Widerspruch für x = 6, da y = -1 sein müsste
d=6: x+y = 6 => Widerspruch für x = 7, da y = -1 sein müsste
d=5: x+y = 7 => Widerspruch für x = 7, da y = 0 sein müsste

d=4: x+y = 8 => {{a,g}, {b,f}, {c,e}} = {{1,7}, {2,6}, {3,5}} (mit Mengenklammern, weil nicht festgelegt ist wie die drei Paare auf die sechs Variablen verteilt sind.)

d=3: x+y = 9 => Widerspruch für x = 1, da y = 8 sein müsste
d=2: x+y = 10 => Widerspruch für x = 1, da y = 9 sein müsste
d=1: x+y = 11 => Widerspruch für x = 2, da y = 9 sein müsste

Also ist d = 4 für alle Lösungen.

---

Die oben erhaltene Gleichung {{a,g}, {b,f}, {c,e}} = {{1,7}, {2,6}, {3,5}} liefert 2^3 = 8 mögliche Kombinationen für {a, b, c} und {e, f, g}:

  1. {a,b,c}={1,2,3}, {e,f,g}={7,6,5} => a + b + c \ne 12
  2. {a,b,c}={1,2,5}, {e,f,g}={7,6,3} => a + b + c \ne 12
  3. {a,b,c}={1,6,3}, {e,f,g}={7,2,5} => a + b + c \ne 12
  4. {a,b,c}={1,6,5}, {e,f,g}={7,2,3} => a + b + c = 12 = e + f + g
  5. {a,b,c}={7,2,3}, {e,f,g}={1,6,5} => a + b + c = 12 = e + f + g
  6. {a,b,c}={7,2,5}, {e,f,g}={1,6,3} => a + b + c \ne 12
  7. {a,b,c}={7,6,3}, {e,f,g}={1,2,5} => a + b + c \ne 12
  8. {a,b,c}={7,6,5}, {e,f,g}={1,2,3} => a + b + c \ne 12


Insgesamt: {{a,b,c}, {e,f,g}} = {{1,5,6}, {2,3,7}}.

---

Also gibt es 2 verschiedene Möglichkeiten für {a,b,c}, und 3! = 6 Wege diese drei Zahlen anzuordnen.
Die Anordnung von {e,f,g} wird durch die von {a,b,c} bestimmt. Hier kommen also keine weiteren Kombinationsmöglichkeiten hinzu.

Zusammen: 2 * 6 = 12 Lösungen.

Edit: Wow, user profile iconMathematiker's Lösung ist sehr viel schöner und kürzer^^

_________________
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 Di 11.12.18 21:57, insgesamt 1-mal bearbeitet
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Di 11.12.18 21:55 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Dafür wird es morgen sehr einfach, versprochen. :D

Schade, dabei bin ich doch gerade erst warm geworden :D

Mein Lösungsansatz ist wohl derselbe ^^ in C versteht sich

_________________
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)
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Di 11.12.18 22:13 
Lösung Rätsel 10 mal anders mit "Fakultät-Prüfbelegung "

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
DIM AS UBYTE a,b,c,d,e,f,g,v
v=0
FOR a=1 TO 7
FOR b=1 TO 7
FOR c=1 TO 7
FOR d=1 TO 7
FOR e=1 TO 7
FOR f=1 TO 7
FOR g=1 TO 7
IF a*b*c*d*e*f*g<>5040 THEN GOTO G
IF a+b+c<>12 THEN GOTO G
IF e+f+g<>12 THEN GOTO G
IF a+d+g<>12 THEN GOTO G
IF c+d+e<>12 THEN GOTO G
PRINT a,b,c
PRINT " ",d
PRINT e,f,g
v+=1:PRINT "Nr.";v
SLEEP 
G:NEXT g:NEXT f:NEXT e:NEXT d:NEXT c:NEXT b:NEXT a
PRINT "Fertig":SLEEP


Moderiert von user profile iconChristian S.: Code-Tags hinzugefügt


Zuletzt bearbeitet von pzktupel am Di 11.12.18 22:20, insgesamt 3-mal bearbeitet

Für diesen Beitrag haben gedankt: Mathematiker
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 11.12.18 22:15 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: Mathematiker, Narses
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 11.12.18 22:16 
Hallo,
user profile iconpzktupel hat folgendes geschrieben Zum zitierten Posting springen:

IF a*b*c*d*e*f*g<>5040 THEN GOTO G

Die Idee mit dem Test der sieben Zahlen auf Unterschiedlichkeit mit dem Produkt gefällt mir.
Darauf bin nicht gekommen.

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: pzktupel
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Di 11.12.18 22:20 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,
user profile iconpzktupel hat folgendes geschrieben Zum zitierten Posting springen:

IF a*b*c*d*e*f*g<>5040 THEN GOTO G

Die Idee mit dem Test der sieben Zahlen auf Unterschiedlichkeit mit dem Produkt gefällt mir.
Darauf bin nicht gekommen.

LG Steffen


Ist mir auch neu, jedoch ist es langsamer als die Bedingungen vor jeder neuen Schleife zu prüfen weil dann doch wieder alle Möglichkeiten zumindest bis dahin in den Schleifen durchgegangen werden müssen. Ist also bei größeren Permutationen nicht zu empfehlen ;)

_________________
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Di 11.12.18 22:21 
Zum Rätsel vom 10.12: Eine siebenfach (!) verschachtelte Schleife, die jeweils von 1 bis 7 läuft, ist ein wenig unelegant und "hyperbrachial", da die sieben Elemente nur permutiert werden müssen.

Bei den Permutationsenumerationsalgorithmen (scheußliches, aber treffendes Wortungetüm) sind die besonders effizient, die auf der Grundlage nur jeweils einer Vertauschung jeweils logischerweise zweier Elemente die nächste Permutation generieren.

Davon sind mir zwei bekannt, einer von Ford & Johnson, der andere von Oleg Victorow. Beide sind in meinem Sortierprogramm implementiert. Ich habe einfach besagtes Programm ein klein wenig "modifiziert", um auf die Anzahl zu kommen.

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 11.12.18 22:22 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Schade dass die Beteiligung im Forum nicht annähernd so groß ist / sein kann, wie zu diesem "Event". :nixweiss:

Das stimmt leider. Dennoch zeigt es, dass die Entwickler-Ecke "lebt". :dance2:
Seit Tagen haben wir mehr Aktivität als die Delphi-Praxis.

Ich gebe die Hoffnung nicht auf, dass es auch außerhalb des Advents wieder mehr wird. :zustimm:

LG Steffen

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

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Di 11.12.18 22:24 
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
Zum Rätsel vom 10.12: Eine siebenfach (!) verschachtelte Schleife, die jeweils von 1 bis 7 läuft, ist ein wenig unelegant und "hyperbrachial", da die sieben Elemente nur permutiert werden müssen.

Das ist durchaus richtig, jedoch einfacher zu merken als den Permutatinsalgorithmus. Außer man weiß wo man ihn abgespeichert hat :roll:

Heute habe ich aber richtige Permutation angewandt. Bin gespannt auf andere Ansätze :)

_________________
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)
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Di 11.12.18 22:25 
Naja, ich bin nicht so der Programmierer, aber auf seltsame Ideen komm ich immer mal :-)
Genauso wie heute der Kracher :roll:
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Di 11.12.18 22:32 
Eine kleine Ergonomieverbesserung hätte ich für Programme der Art wie das heutige anzuregen: Wie wäre es, wenn man farblich kennzeichnet, daß die angezeigte Summe von den Umgebungsfeldern überschritten wird? Und / oder, daß mehr als eine gleiche Zahl in eine Reihe bzw. Spalte hineingerutscht ist?

Ich weiß, das schreibt sich so leicht, ist aber nicht immer ganz so simpel zu implementieren.

So, wie es jetzt gelöst ist, was ja sicher schon eine Heidenarbeit war, ist es außer der Lösungsauswertung "nur ein Papierersatz" (nicht abfällig gemeint), ohne jegliche Hilfe des Computers.

Oder ist der Zwang zum ständigen Rechnen Teil des Konzeptes?! Mag sein. Mag aber nicht jeder, das Rechnen....

Wie gesagt, nur als vorsichtige Anregung gemeint.

Gruß Delphi-Laie

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.


Zuletzt bearbeitet von Delphi-Laie am Di 11.12.18 22:53, insgesamt 3-mal bearbeitet
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Di 11.12.18 22:40 
Ja, da hätte ich auch eine Anmerkung. Zumindest die eigenen Wahl-Zahlen Rot färben.
Das schwarz und dunkelblau ist schwer zu unterscheiden.
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Di 11.12.18 23:40 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Schade dass die Beteiligung im Forum nicht annähernd so groß ist / sein kann, wie zu diesem "Event". :nixweiss:

Das stimmt leider. Dennoch zeigt es, dass die Entwickler-Ecke "lebt". :dance2:
Seit Tagen haben wir mehr Aktivität als die Delphi-Praxis.


Tja, zur Lösung dieses Problems habe ich eine ganz freche Idee: Wie wäre es mit einem Ganzjahreskalender? ;-)

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 12.12.18 00:06 
Das Zahlenrätsel vom 10. wanderte bei mir kurzerhand in den Interpreter von SWI Prolog:

ausblenden zahlen.pl
1:
2:
3:
4:
5:
6:
7:
g(A, B, C, D, E, F, G) :-
    permutation([1,2,3,4,5,6,7],[A,B,C,D,E,F,G]),
    A + B + C =:= 12,
    A + D + G =:= 12,
    B + D + F =:= 12,
    C + D + E =:= 12,
    E + F + G =:= 12.


Das einmal in einer Session gegen SWI Prolog geworfen ...

ausblenden SWI Prolog
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
?- [zahlen].
true.

?- g(A,B,C,D,E,F,G).
A = 1, B = 5, C = 6, D = 4, E = 2, F = 3, G = 7 ;
A = 1, B = 6, C = 5, D = 4, E = 3, F = 2, G = 7 ;
A = 2, B = 3, C = 7, D = 4, E = 1, F = 5, G = 6 ;
A = 2, B = 7, C = 3, D = 4, E = 5, F = 1, G = 6 ;
A = 3, B = 2, C = 7, D = 4, E = 1, F = 6, G = 5 ;
A = 3, B = 7, C = 2, D = 4, E = 6, F = 1, G = 5 ;
A = 5, B = 1, C = 6, D = 4, E = 2, F = 7, G = 3 ;
A = 5, B = 6, C = 1, D = 4, E = 7, F = 2, G = 3 ;
A = 6, B = 1, C = 5, D = 4, E = 3, F = 7, G = 2 ;
A = 6, B = 5, C = 1, D = 4, E = 7, F = 3, G = 2 ;
A = 7, B = 2, C = 3, D = 4, E = 5, F = 6, G = 1 ;
A = 7, B = 3, C = 2, D = 4, E = 6, F = 5, G = 1 ;
false.


... und man brauchte danach lediglich noch Antworten zählen und die ermittelte Anzahl eintragen ...

_________________
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: Delphi-Laie, Hidden, Mathematiker, ub60
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Mi 12.12.18 08:36 
Hallo,

Zu Tag 10: Ich nahm auch permtation, wollte dabei die Zahl der rekursiven Aufrufe möglichst gering halten:
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:
{$IFDEF FPC}{$MOde Delphi}{$ELSE}{$APPTYPE CONSOLE}{$IFEND}
type
  tElement = NativeUint;

var
  Zahl : array[0..7of tElement;
  cnt,rekCount : NativeInt;
function Summe :boolean;
Begin
  result := (Zahl[1]+Zahl[2]+Zahl[3]) =12;
  If Not result then EXIT;
  result := (Zahl[1]+Zahl[4]+Zahl[7]) =12;
  If Not result then EXIT;
  result := (Zahl[2]+Zahl[4]+Zahl[6]) =12;
  If Not result then EXIT;
  result := (Zahl[3]+Zahl[4]+Zahl[5]) =12;
  If Not result then EXIT;
  result := (Zahl[5]+Zahl[6]+Zahl[7]) =12;
end;

procedure Ausgabe;
Begin
  inc(cnt);
  writeln('Variante ', cnt);
  writeln(Zahl[1]:3,Zahl[2]:3,Zahl[3]:3);
  writeln(Zahl[4]:6);
  writeln(Zahl[5]:3,Zahl[6]:3,Zahl[7]:3);
end;
procedure SwapElements(i,j:tElement);inline;
var
  tmp:tElement;
Begin
  if i<>j then
  Begin
    tmp := Zahl[i];Zahl[i]:= zahl[j];Zahl[j] := tmp;
  End;
end;

procedure rekurs(i:NativeInt);
var
  j : NativeInt;
begin
  inc(rekCount);
  j:= i;
  repeat
    SwapElements(i,j);
    case i of
      0..2: rekurs(i+1);
      3IF  (Zahl[1]+Zahl[2]+Zahl[3]) = 12 then rekurs(4);
      4: rekurs(i+1);
      5IF  (Zahl[3]+Zahl[4]+Zahl[5]) = 12 then rekurs(6);
      6IF  (Zahl[2]+Zahl[4]+Zahl[6]) = 12 then rekurs(7);
    else
      If summe then
        Ausgabe;
    end;
    SwapElements(i,j);
    inc(j);
  until j>High(Zahl);
end;

var
 i : Integer;
Begin
  cnt := 0;
  rekCount := 0;
  For i := 0 to 7 do
    Zahl[i]:= i;
  rekurs(1);
  writeln;
  writeln('Es gibt ',cnt,' Loesungen');
  writeln('Es gab ',rekCount,' rekursive Aufrufe');
end.

Mit dem Ergebnis:
ausblenden volle Höhe 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:
Variante 1
  1  5  6
     4
  2  3  7
Variante 2
  1  6  5
     4
  3  2  7
Variante 3
  2  3  7
     4
  1  5  6
Variante 4
  2  7  3
     4
  5  1  6
Variante 5
  3  2  7
     4
  1  6  5
Variante 6
  3  7  2
     4
  6  1  5
Variante 7
  5  1  6
     4
  2  7  3
Variante 8
  5  6  1
     4
  7  2  3
Variante 9
  6  5  1
     4
  7  3  2
Variante 10
  6  1  5
     4
  3  7  2
Variante 11
  7  2  3
     4
  5  6  1
Variante 12
  7  3  2
     4
  6  5  1

Es gibt 12 Loesungen
Es gab 308 rekursive Aufrufe


Gruß Horst

Für diesen Beitrag haben gedankt: Mathematiker
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Mi 12.12.18 11:46 
Rätsel 12 von heute:

Es ist in der Tat ein Urlaubstag. Das Prinzip war aus den Vorjahren bereits bekannt, aber man könnte es vom Niveau auch anheben lassen...das macht es dann nicht mehr so einfach.

Wie wäre es, wenn eine minimale Lösung + Spielraum aus der konstanten Anfangssituation nur zuässig ist. Quasi nach x-Zügen muss es gelöst sein. Das würde sich dann von der Schwierigkeit her in die anderen Aufgaben mit einreihen können,oder ?
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mi 12.12.18 12:42 
user profile iconpzktupel hat folgendes geschrieben Zum zitierten Posting springen:
Es ist in der Tat ein Urlaubstag.

Warum denn nicht, gestern war doch etwas "anstrengend". Außerdem soll es ja etwas Spaß machen und nicht unbedingt in Stress ausarten.
Aber keine Sorge. Morgen wird es wieder etwas "niveauvoller".

LG Steffen

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