Einzelnen Beitrag anzeigen

Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#13

Re: magisches quadrat, brauch ne idee...

  Alt 13. Okt 2004, 16:07
hab noch ne idee:
mit folgender prozedur bekommst du alle möglichen kombinationen von 4 elementen, die der summe entsprechen

Delphi-Quellcode:
procedure TForm1.Perm(AnzElem,summe:word);
var i1,i2,i3,i4:word;
begin
  memo1.Clear;

  for i1:=1 to AnzElem do
    for i2:=1 to AnzElem do
      if not(i1=i2) and
         (i1+i2<summe) then
        for i3:=1 to AnzElem do
          if not((i3=i1) or
                 (i3=i2))
             and
             (i1+i2+i3<summe) then
          for i4:=1 to AnzElem do
            if not((i4=i1) or
                   (i4=i2) or
                   (i4=i3))
               and
               (i1+i2+i3+i4=summe) then
              memo1.Lines.Add(format('%3d + %3d + %3d + %3d = %3d',
                                     [i1,i2,i3,i4,(i1+i2+i3+i4)]));
end;
kannst du dir ja die parmutationen in ein array speichern, dann brauchst du nur noch jeweils 4 von sich verschiedene auswählen und diese zu einem quadrat kombinieren, dann mußt du nur noch auf senkrechte und diagonale prüfen!
Angehängte Dateien
Dateityp: exe project1_203.exe (387,5 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat