Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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

Lösung mit Makro

Lösung mit Makro
alifa
Hallo,
100 Lämpchen sind auf einer Leiste, in einer Reihe angeordnet. Jedes Lämpchen hat seinen Schalter.
1. Jemand betätigt alle Schalter(Knopfdruck), der Reihe nach, angefangen von links. Alle 100 leuchten.
2. Jeder zweite Knopf wird betätigt. Jetzt leuchten 2,4,6....98,100 nicht mehr.
3. Jeder dritte Knopf wird betätigt und der Zustand der betreffenden Lämpchen verändert.
Und so weiter 100 Mal. Also anschließend wird jeder 4., dann jeder 5., 6., ....100. Knopf gedrückt. Welche Lämpchen leuchten am Ende dieser Prozedur?
Wie kann man dieses Problem mit einem Makro erfassen? Die Lösung glaube ich zu kennen. Mir geht es, wie gehabt, um das Makro. Kann mir jemand helfen, der vielleicht auch etwas Spaß daran hat?
Gruß, Erhard

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Lösung mit Makro
30.11.2009 23:44:34
Daniel
Hi
das wäre die BruteForce-Lösung:
Sub LampenProblem()
Dim Lampen(1 To 100) As Boolean
Dim i As Long, x As Long
For i = 1 To 100
For x = i To 100 Step i
Lampen(x) = Not Lampen(x)
Next
Next
Range("A1:A100").Value2 = WorksheetFunction.Transpose(Lampen)
End Sub

mit dem Ergebnis: alle Quadrat-Lämpchen leuchten (1, 4, 9, 16, 25, 36 ...)
Gruß, Daniel
AW: Lösung mit Makro
01.12.2009 11:26:04
alifa
Hallo Daniel,
danke für Deine Lösung. Jetzt hätte ich noch die Bitte, mir zu erklären, wie das Programm diese Lösung findet. Einzelne Schritte. Und wie sähe es aus, wenn die MsgBox die 10 Werte ausgibt.
Gruß, E.
Anzeige
Da gibt's gar nichts zu erklären,...
01.12.2009 19:55:55
Luc:-?
...Erhard,
das Pgm „findet“ die Lösung nicht, sondern macht genau das, was du eingangs beschrieben hast → es schaltet die Lampen xmal um! Geh einfach mal die Zyklen durch, dann merkst du das auch (im inneren Zyklus wird der jeweilige Wert der Laufvariablen des äußeren als Start und Schrittweite [Step] verwendet). Deshalb schrieb Daniel ja auch Brute Force! Also keine Mathematik — nur Automation... ;-)
Gruß Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige