Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dreizehn Zahlen

Dreizehn Zahlen
alifa
Hallo,
Beim Lösen eines Problems, bin ich auf diese 7 Gleichungen gekommen:
a+b-d-e=0
c+d-f-g=0
etf-h-i=0
g+h-j-k=0
i+j-l-a=0
k+l-m-g=0
a+g-f-e=0
Jeder dieser 13 Variabeln soll eine Zahl von 1 bis 13 zugeordnet werden, so dass die Gleichungen stimmen.
Mein Makro ist sehr langsam. Ich schätze es braucht 15-16 Stunden. Hat jemand eine Idee, wie das schneller geht? Ich danke im Voraus!
Gruß, alifa

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Dreizehn Zahlen schneller
31.10.2009 01:31:18
Erich
Hi Vorname,
wie sieht denn dein Makro aus? Das wäre beim Antworten vermutlich nützlich gewesen...
Das sollte schneller gehen,
und in XL2007 gibt es wohl auch genügend Zeilen für die vielen Lösungen:

Option Explicit
Sub aa()
Dim a As Long, b As Long, c As Long, d As Long
Dim e As Long, f As Long, g As Long, h As Long
Dim i As Long, j As Long, k As Long, l As Long, m As Long
Dim tt As Double, zz As Long
For a = 1 To 13
For b = 1 To 13
For c = 1 To 13
For d = 1 To 13
e = a + b - d
If e  13 Then Exit For
tt = (c - b) / 2 + d
If tt  Int(tt) Then Exit For
f = tt
If f  13 Then Exit For
g = e + f - a
If g  13 Then Exit For
For h = 1 To 13
i = e + f - h
If i  13 Then Exit For
For j = 1 To 13
k = g + h - j
If k  13 Then Exit For
l = i + j - a
If l  13 Then Exit For
m = k + l - g
If m  13 Then Exit For
zz = zz + 1
Cells(zz, 1).Resize(, 13) = Array(a, b, c, d, e, f, g, h, i, j, k, l, m)
Cells(zz, 15) = a + b - d - e
Cells(zz, 16) = c + d - f - g
Cells(zz, 17) = e + f - h - i
Cells(zz, 18) = g + h - j - k
Cells(zz, 19) = i + j - l - a
Cells(zz, 20) = k + l - m - g
Cells(zz, 21) = a + g - f - e
Next j
Next h
Next d
Next c
Next b
Next a
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Dreizehn Zahlen schneller
31.10.2009 09:20:21
alifa
Hallo Erich,
meine "Office Home and Student 2007" hat leider nur 65536 Zeilen. Doch die braucht man nicht, denn jede Zahl von 1 bis 13 kann nur EINMAL vergeben werden. Also jedem Buchstabe von a bis m wird eine andere Zahl zugeordnet. Dann kann es nicht mehr so viele Ergebnisse geben! Hier ist die Ausgangssituation meines Problems: a+b+c=H; c+d+e=H; e+f+g=H; g+h+i=H; i+j+k=H; k+l+a=H; a+m+g=H; b+m+a=H; c+m+i=H; d+m+j=H; e+m+k=H; f+m+l=H. Wobei H eine gleiche Summe ist. Die könnte zwischen 21 und 27 liegen. Welches ist zur Zeit die neueste Excel Version? Die möchte ich mir gerne zulegen.
Gruß, Erhard
Anzeige
AW: Dreizehn Zahlen schneller
31.10.2009 09:38:13
Hajo_Zi
Hallo Erhard,
Du hast die Datei schon als xlsx oder xlsm gespeichert?
Bei speicherung als XLS ist es eine 97-2003 Version und die hat nur die wenigen Zeilen.

AW: Dreizehn Zahlen schneller
31.10.2009 11:36:28
BoskoBiati
Hallo Erhard,
erstens ist mit diesen Formeln eine ganz andere Situation gegeben, nämlich 12 Gleichungen für 13 Variablen, was die Sache etwas eingrenzt.
Allerdings ist die Aufgabe so nicht lösbar, denn:
Also jedem Buchstabe von a bis m wird eine andere Zahl zugeordnet.

steht im Widerspruch zu den beiden Bedingungen:
a+b+c=H
b+m+a=H

oder auf gleiches Bild gebracht:
a+b+c=H
a+b+m=H
was automatisch bedeutet: c=m
und dies auch noch:
a+m+g=H
b+m+a=H
woraus sich b=g ergibt
Du solltest die ganze Aufgabe vielleicht noch mal überdenken
Gruß
Bosko
Anzeige
AW: Dreizehn Zahlen schneller
31.10.2009 12:20:23
alifa
Hallo,
leider ein Tippfehler. Es soll heißen :b+m+h . Sorry!
Gruß, Erhard
AW: Dreizehn Zahlen schneller
31.10.2009 17:41:08
BoskoBiati
Hallo Erhard,
anbei mal ein Entwurf, der nur noch Sekunden braucht, aber mit Sicherheit auch anders und wahrscheinlich schneller realisierbar ist.
https://www.herber.de/bbs/user/65487.xls
Allerdings ist mir aufgefallen, dass es anscheinend nur für H=21 eine Lösung gibt.
Gruß
Bosko
AW: Dreizehn Zahlen schneller
01.11.2009 08:04:45
alifa
Hallo Bosco,
das klappt ausgezeichnet. Eigentlich hatte mein Makro den gleichen Aufbau, ausgenommen die Reihenfolge. Ich hatte alle 13 For-Next Schleifen zusammen, am Anfang. Dann alle 13 Formeln, dann die Bedingungen der Ungleichheit der einzelnen Varianten miteinander.
Danke, Erhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige