Gesucht wird die 5stellige Zahl ABCDE, die mit 4 multipliziert, sich selbst rückwärts ergibt:
4 • ABCDE = EDCBA
Spoiler
Hallo,
irgendwie bin ich heute zu faul zum Denken.
Wenn Du den folgenden Code in das Notepad kopierst und mit der Endung .vbs abspeicherst, musst Du das nur noch doppelt klicken und das Ergebnis wird Dir angezeigt.
Dim i, T, p
Dim zl1
Dim zl2
For i = 10000 To 99999
zl1 = CStr(i)
zl2 = ""
For p = 5 To 1 Step -1
zl2 = zl2 & Mid(zl1, p, 1)
Next
T = CDbl(zl2)
If T = 4 \* i Then
MsgBox "gefunden! " & CStr(i)
End If
Next
Gruß Rainer
Hallo Rainer,
irgendwie bin ich heute zu faul zum Denken.
Tsts
4 • ABCDE = EDCBA
Da die Zahl die sich ergibt genau gleich viele Stellen hat wie die
Ursprüngliche, kann A nur 1 oder 2 sein. Die 1 schließt sich aus,
weil es keine Zahl gibt die mit 4 multipliziert eine 1 im
Einerbereich stehen hat.
A = 2.
E kann nur 3 oder 8 sein, da diese Zahlen multipliziert mit 4 eine 2
im Einerbereich stehen haben. Die 3 schließt sich aus, da wir A schon
haben und somit die erste Stelle, also E, größer oder gleich 4 * A
sein muss.
E = 8.
Nun muss B eine Zahl sein, die multipliziert mit 4 weniger als 10
ergibt, sodass sie unseren Stellenwert A nicht beeinflusst. Die
einzig mögliche Zahl ist also die 1, da wir die 2 schon verwenden.
B = 1.
Nun geht es an die Stelle D. In der 2. Zahl steht hinten 12 ( B=1,
A=2).
D muss also so gewählt werden, dass eine 8 im Einer entsteht
( E=8, 4*8 = 32, 8 + 3 = …1 ). Zur Wahl steht nur noch die 7 ( A =
2).
D = 7.
Nun fehlt nurnoch C. Wir wissen, dass die 2. Stelle der 2. Zahl eine
7 ist ( D = 7 ). C muss also eine Zahl sein, die eine 3 im
Zehnerbereich stehen hat ( 4 * B = 84, 4 + 3 = 7 ). Da die 8 schon
verwendet wird, bleibt nurnoch die 9 übrig.
C = 9.
So Rainer, das habe ich ruckzuck durchdacht, war einfach.
Okay, eine Winzigkeit habe ich hierher:
http://www.logisch-gedacht.de/forum/?board=13&thema=13
Gruß
Reinhard
Hallo,
irgendwie bin ich heute zu faul zum Denken.
ich auch, und sogar schreibfauler als du …
perl -le 'print grep { 4 \* $\_ == reverse } 10000 .. 99999'
Andreas
Hallo Andreas,
ich auch, und sogar schreibfauler als du …
perl -le ‚print grep { 4 * $_ == reverse } 10000 … 99999‘
das kann ich noch nicht mal lesen.
Wie bringt man das zum Laufen? Auch nur in eine Textdatei schreiben und doppelt klicken? Welche Endung muss ich dann schreiben?
Gruß Rainer
Hallo Rainer,
Wie bringt man das zum Laufen?
wenn du Perl installiert hast (und ‚perl‘ im Pfad), kannst du das einfach auf der Kommandozeile eingeben. Um eine Datei zu erstellen, war ich zu faul …
Andreas
Hallo Andreas,
Wie bringt man das zum Laufen?
wenn du Perl installiert hast (und ‚perl‘ im Pfad), kannst du
das einfach auf der Kommandozeile eingeben.
Ach so, nein habe ich nicht. Das verstehe ich ohnehin nicht.
Gruß Rainer
wenn du Perl installiert hast
Ach so, nein habe ich nicht.
Hatte ich mir fast gedacht. Unter Linux ist Perl als Skriptsprache in etwa so selbstverständlich vorinstalliert wie bei dir unter Windows VBS (Visual Basic Script).
Andreas
Hallo Andreas,
Unter Linux ist …
ach so …
Der private Rechner ist nur zum Spielen da und um mal etwas mit VB auszuprobieren oder vorzubereiten, denn das brauche ich auch in der Firma gelegentlich. Dabei hilft Linux nicht, das geht mit Windows bequemer.
Gruß Rainer
Der private Rechner ist nur zum Spielen da und um mal etwas
mit VB auszuprobieren oder vorzubereiten, denn das brauche ich
auch in der Firma gelegentlich. Dabei hilft Linux nicht, das
geht mit Windows bequemer.
Hallo Rainer,
was brauch ich Perl, regexp ist für mich genauso schwer zu lesen, grad weils so kurz ist
Set Regex = CreateObject(„Vbscript.regexp“)
With Regex
.Pattern = „\b(\w[-.\w]*@\w[-.\w]*.[a-zA-Z]{2,6})\b“
Gruß
Reinhard
Hallo Reinhard,
interessantes Thema, lass uns das gelegentlich mal im richtigen Brett diskutieren.
Gruß Rainer