Kleiner Denksport- (und Logik?-) Thread

Rätsel und Online-Spiele im Forum
Benutzeravatar
Anthea
Boarddoktor

<div title=Kreativer Administrator><b>Boarddoktor</b></div>
Beiträge: 10661
Registriert: Mo 5. Dez 2005, 13:15
Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
Receiverfirmware: aktuell :)
Wohnort: Fürth
Kontaktdaten:

AW: Kleiner Denksport- (und Logik?-) Thread

#841

Beitrag von Anthea » Fr 16. Nov 2012, 10:21

Wobei es ein Gerücht ist, dass Zugriffe auf Strings langsam sind. Die Stringfunktionen in den Standardlibs sind meistens sehr langsam, weil die ständig noch Sicherheitsüberprüfungen machen müssen. Ein Vergleich von einzelnen Charakters innerhalb eines Strings ist auch nur in Byte-Array-Zugriff und Byte-Vergleich. Das schaffen die meisten Prozessoren schon recht schnell. Wobei Arrays, wenn sie sich nicht gerade im Cache aufhalten, grundsätzlich als Far-Pointer direkte Memory-Zugriffe verursachen, und damit auf die Anbindung des Speichers durchschlagen, und somit meist schon etwas langsamer sind als lokale Variablen, die in einem Prozessorregister gehalten sind. Soll ich jetzt noch eine optimierte Schleife in x86 Assembler nachliefern? :) (alternativ könnte ich noch 6502-Assembler oder 80C166-Assembler rauskramen, aber die sind schon etwas rostig)

Online
Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28745
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: Kleiner Denksport- (und Logik?-) Thread

#842

Beitrag von FireBird » Fr 16. Nov 2012, 10:26

Nö, bitte in MIPS, denn da ist es egal. :)

Benutzeravatar
Anthea
Boarddoktor

<div title=Kreativer Administrator><b>Boarddoktor</b></div>
Beiträge: 10661
Registriert: Mo 5. Dez 2005, 13:15
Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
Receiverfirmware: aktuell :)
Wohnort: Fürth
Kontaktdaten:

AW: Kleiner Denksport- (und Logik?-) Thread

#843

Beitrag von Anthea » Fr 16. Nov 2012, 10:33

Ich hab aber gerade keinen SGI Server zur Hand, um das zu testen ;) Wobei... hat die FritzBox nicht auch TI-Chips mit MIPS Architektur?

Online
Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28745
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: Kleiner Denksport- (und Logik?-) Thread

#844

Beitrag von FireBird » Fr 16. Nov 2012, 12:55

Wie wäre es mit dem Topf? :D

Benutzeravatar
Anthea
Boarddoktor

<div title=Kreativer Administrator><b>Boarddoktor</b></div>
Beiträge: 10661
Registriert: Mo 5. Dez 2005, 13:15
Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
Receiverfirmware: aktuell :)
Wohnort: Fürth
Kontaktdaten:

AW: Kleiner Denksport- (und Logik?-) Thread

#845

Beitrag von Anthea » Fr 16. Nov 2012, 13:25

Hm. Stimmt auch wieder. An den hab ich jetzt gar nicht gedacht. Auf dem hab ich aber auch noch nie was auf Assembler gemacht. Sollte ich vielleicht mal. Vielleicht kommt ja was völlig sinnloses bei raus :D
(Ein Kollege hält mir immer noch vor, dass ich mal vor lauter Verzweiflung über ein bestimmtes Problem gesagt habe: So, jetzt muss ich mal zur Entspannung wieder was in Assembler programmieren)

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#846

Beitrag von hagge » Fr 16. Nov 2012, 19:29

@Anthea

Dein Programm löst nicht die Grundaufgabe. Beispiele 3, 6 und 7 funktionieren mit Deinem Programm nicht. Es schluckt einfach alle Punkte, also auch die mehrfachen Punkte und führende Punkte in Filenamen, die eigentlich übrig bleiben sollen.

Gruß,

Hagge
Zuletzt geändert von hagge am Fr 16. Nov 2012, 19:32, insgesamt 2-mal geändert.

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#847

Beitrag von hagge » Fr 16. Nov 2012, 19:38

[quote="Anthea"]Wobei es ein Gerücht ist, dass Zugriffe auf Strings langsam sind.[/quote]
Es sind definitiv Zugriffe, die auf das RAM erfolgen, und die sind *immer* langsamer als Zugriffe auf Prozessorregister. Ja, durch Caching kann es sein, dass diese Zugriffszeiten stark verkürzt werden, aber sie kommen trotzdem nicht an das Prozessorregister ran.

Außerdem schreibe ich das gerade für einen Bootloader, in dem das Daten-Caching noch gar nicht aktiviert ist. Insofern ist der Speicherzugriff *erheblich* langsamer als der Registerzugriff, wahrscheinlich um Faktor 10 oder noch mehr.

BTW bei mir geht es um ARM, nicht um MIPS-Code.

Gruß,

Hagge
Zuletzt geändert von hagge am Fr 16. Nov 2012, 19:40, insgesamt 1-mal geändert.

Benutzeravatar
Anthea
Boarddoktor

<div title=Kreativer Administrator><b>Boarddoktor</b></div>
Beiträge: 10661
Registriert: Mo 5. Dez 2005, 13:15
Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
Receiverfirmware: aktuell :)
Wohnort: Fürth
Kontaktdaten:

AW: Kleiner Denksport- (und Logik?-) Thread

#848

Beitrag von Anthea » Fr 16. Nov 2012, 23:15

Bootlader schreiben? Na gut, da sind die Anforderungen ein bisschen anders. Das hab ich zumindest mal für nen 486er gemacht, da ist im Hochlauf noch so eine tolle Mischung mit 16bit Daten und 32bit Adressen. Oder umgekehrt? Schon so lange her. Und da musste deshalb der essentielle Code, um die Platine aus dem Sumpf zu ziehen, eh in Assembler geschrieben werden. Und ja, ich hab das Problem irgendwie nicht richtig gelesen. Böse, böse. Aber jetzt bin ich zu... müde? Oder so... zum Denken :D

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#849

Beitrag von hagge » Mo 19. Nov 2012, 11:22

Wenn noch jemand knobeln will, bitte sagen. Sonst kommt heute gegen Abend die Auflösung (bzw. meine Version).

Gruß,

Hagge

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#850

Beitrag von hagge » Mo 19. Nov 2012, 18:18

OK, also hier mal meine Lösung:

Code: Alles auswählen

char *skip(char *p)
{
	char c;

	for (; ;) {
		c = p[0];
		if (c == '/') {
			p++;
			continue;
		}
		if (c != '.')
			break;
		c = p[1];
		if (c == '/') {
			p += 2;
			continue;
		}
		else if (c == '\0')
			p++;      /* kein continue, sondern break */
		break;
	}

	return p;
}
Was mich seinerzeit so irritiert hatte war, dass obwohl die Schleife mit break endet, was ja eigentlich auf eine do-while-Schleife hindeutet, es trotzdem nicht mit einer do-while-Schleife klappt.

Gruß,

Hagge

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#851

Beitrag von hagge » Sa 1. Dez 2012, 11:22

Neulich waren in einem Heftchen vom Kaufland wieder diese vermeintlich einfachen Rätsel drin,wo man einfach ein paar Zahlen addieren und subtrahieren muss, oder multiplizieren und dividieren. Letzteres hatte ich dann tatsächlich in wenigen Minuten gelöst.

Hier müssen die Zahlen 1-9 so verteilt werden, dass die Rechnungen horizontal und vertikal stimmen.

Code: Alles auswählen

  x   :   = 16
x   x   x
  x   :   = 15
x   :   x
  x   x   = 42
=   =   =
40  6   42
Aber das andere mit dem Addieren und Subtrahieren stellte sich als ungleich schwerer heraus. Wieder müssen die Zahlen 1-9 so verteilt werden, dass die Rechnungen horizontal und vertikal stimmen.

Code: Alles auswählen

  -   +   = 6
+   +   +
  +   -   = 2
+   -   -
  +   +   = 9
=   =   =
16  7   6
Vermutlich ist man wirklich mit Probieren am schnellsten. Aber versucht mal durch reines Argumentieren zur Lösung zu kommen. Mich würde auch der Lösungsweg interessieren.

Gruß,

Hagge

Benutzeravatar
ewgh
Ex-Downgraded to 224 Postings
Ex-Downgraded to 224 Postings
Beiträge: 11063
Registriert: Fr 9. Dez 2005, 13:07
Wohnort: CH-8592

AW: Kleiner Denksport- (und Logik?-) Thread

#852

Beitrag von ewgh » Di 4. Dez 2012, 12:40

Vermutlich ist man wirklich mit Probieren am schnellsten. Aber versucht mal durch reines Argumentieren zur Lösung zu kommen. Mich würde auch der Lösungsweg interessieren.

Gruß,

Hagge
Der Versuch eines Beitrages!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruss
ewgh

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#853

Beitrag von hagge » Mi 5. Dez 2012, 10:37

Kleine Anmerkung zu Deiner Lösung von Rätsel 1: Wieso gehst Du gleich am Anfang davon aus, dass in Zeile 1 Zweierpotenzen sein müssen? 8 * 6 : 3 ginge doch auch wunderbar. Dann fordert Spalte C den Wert 2 für C2, wodurch nun die zweite Zeile 5 * 6 : 2 heißen müsste, was aber nicht geht, da die 6 in diesem Fall schon in der ersten Zeile verwendet wurde. Darum kann man diese Variante in der Folge tatsächlich ausschließen, aber zumindest andenken muss man sie eigentlich schon.

Beim Rätsel 2: Man kann noch eine 8. Gleichung definieren, denn man kennt z.B. auch das Produkt der 9 Zahlen. Aber dann reicht es immer noch nicht.

Ansonsten wundert es mich, dass noch keine anderen Lösungsansätze kamen. Kommt euch das Rätsel 2 mit dem Addieren und Subtrahieren zu banal vor? Keine Bange, dem ist nicht so, ich hatte es nach zwei Stunden noch nicht raus! Genau darum stelle ich es ja hier.

Gruß,

Hagge
Zuletzt geändert von hagge am Mi 5. Dez 2012, 10:40, insgesamt 1-mal geändert.

Benutzeravatar
ewgh
Ex-Downgraded to 224 Postings
Ex-Downgraded to 224 Postings
Beiträge: 11063
Registriert: Fr 9. Dez 2005, 13:07
Wohnort: CH-8592

AW: Kleiner Denksport- (und Logik?-) Thread

#854

Beitrag von ewgh » Mi 5. Dez 2012, 12:07

Kleine Anmerkung zu Deiner Lösung von Rätsel 1: Wieso gehst Du gleich am Anfang davon aus, dass in Zeile 1 Zweierpotenzen sein müssen? 8 * 6 : 3 ginge doch auch wunderbar. Dann fordert Spalte C den Wert 2 für C2, wodurch nun die zweite Zeile 5 * 6 : 2 heißen müsste, was aber nicht geht, da die 6 in diesem Fall schon in der ersten Zeile verwendet wurde. Darum kann man diese Variante in der Folge tatsächlich ausschließen, aber zumindest andenken muss man sie eigentlich schon.
Dein Einwand ist richtig! Hab's nur nicht erwähnt!
Beim Rätsel 2: Man kann noch eine 8. Gleichung definieren, denn man kennt z.B. auch das Produkt der 9 Zahlen. Aber dann reicht es immer noch nicht.
Diese achte Gleichung ist abhängig von der siebten; sie liefert keine "neuen Erkenntnisse". Sie ist also keine "neue" Gleichung!
oder:
(Wenn du die Summe der neun Zahlen kennst, so kennst du auch ihr Produkt.)
besser:
Im Wissen drum, dass es sich um die ersten neun natürlichen Zahlen handelt, ist es einerlei dies über die Summe oder das Produkt (oder allenfalls noch auf andere Weise) zum Ausdruck zu bringen.
Ansonsten wundert es mich, dass noch keine anderen Lösungsansätze kamen. Kommt euch das Rätsel 2 mit dem Addieren und Subtrahieren zu banal vor? Keine Bange, dem ist nicht so, ich hatte es nach zwei Stunden noch nicht raus! Genau darum stelle ich es ja hier.
Von "banal" kann keine Rede sein, wie du selber feststellst. Es läuft auf eine Probiererei hinaus, was mich zur Bemerkung veranlasste, dass mich dies nicht reize!

NB:
Hast du die Lösung?!
Zuletzt geändert von ewgh am Mi 5. Dez 2012, 12:50, insgesamt 1-mal geändert.
Grund: siehe: "besser"
Gruss
ewgh

Benutzeravatar
hagge
Jung-Guru
Jung-Guru
Beiträge: 1921
Registriert: Fr 9. Dez 2005, 15:43
Receivertyp: SRP-2401CI+, TF5000PVR
Wohnort: Stuttgart

AW: Kleiner Denksport- (und Logik?-) Thread

#855

Beitrag von hagge » Mi 5. Dez 2012, 14:05

ewgh hat geschrieben:Diese achte Gleichung ist abhängig von der siebten; sie liefert keine "neuen Erkenntnisse". Sie ist also keine "neue" Gleichung!
oder:
(Wenn du die Summe der neun Zahlen kennst, so kennst du auch ihr Produkt.)

Bist Du sicher? Wenn ich von drei Zahlen weiß, dass ihre Summe 6 ist, dann ist das doch weniger als wenn ich auch noch weiß, dass ihr Produkt 4 ist. Und nein, ich kenne ihr Produkt noch lange nicht, wenn ich die Summe kenne.

In unserem Fall wissen zwar *wir*, dass es sich um die ersten 9 Zahlen handelt und auch alle verschieden sein müssen, aber mathematisch ist dieses Wissen ansonsten noch nirgendwo eingeflossen. Also bringt meiner Meinung nach diese Produktgleichung tatsächlich eine weitere mathematische Erkenntnis ein.

Vielleicht kann man auf diese Weise auch noch auf eine neunte Gleichung kommen. Denn vielleicht kann man die Argumentation zumindest so weit treiben, dass man eine Zahl findet oder zumindest nochmal etwas über die Summe von zwei oder drei Zahlen aussagen kann, was nicht schon über die Zeilen und Spalten bekannt ist.

Ich habe auch schon überlegt, ob einem die acht Gleichungen nicht auch schon ausreichen. Denn da muss ja am Ende mit einem Gleichungslöseverfahren (z.B. nach Gauß) herauskommen, dass eine Zahl das Soundsovielfache der anderen Zahl ist. Hierdurch verbleiben vielleicht nur noch ein oder zwei Möglichkeiten der Lösung. Kommt zum Beispiel raus: C1 = 2/7*B2 + 1, dann muss B2=7 und C1=3 sein.

Konsequent durchexerziert habe ich das aber bisher auch noch nicht.
Von "banal" kann keine Rede sein, wie du selber feststellst. Es läuft auf eine Probiererei hinaus, was mich zur Bemerkung veranlasste, dass mich dies nicht reize!
Aha, dann siehst Du also auch keinen Weg, noch weiter durch Argumentieren zu kommen, ohne zu probieren? Ich habe dann irgendwann auch aufgegeben und noch ein paar wenige Kombinationen durchprobiert und so die Lösung erhalten. Aber sollte das wirklich ein Rätsel sein, wo man nur durch Probieren zur Lösung kommt? Üblicherweise gehen solche Rätsel doch über Argumentationsketten zu lösen, oder? Sind wir nur zu dumm, diese Lösung zu finden?

Gruß,

Hagge

Benutzeravatar
ewgh
Ex-Downgraded to 224 Postings
Ex-Downgraded to 224 Postings
Beiträge: 11063
Registriert: Fr 9. Dez 2005, 13:07
Wohnort: CH-8592

AW: Kleiner Denksport- (und Logik?-) Thread

#856

Beitrag von ewgh » Do 6. Dez 2012, 15:46

In unserem Fall wissen zwar *wir*, dass es sich um die ersten 9 Zahlen handelt und auch alle verschieden sein müssen, aber mathematisch ist dieses Wissen ansonsten noch nirgendwo eingeflossen.
Das ist richtig!
Wenn es der Terminkalender zulässt [ ;-) ], möchte ich mich nochmals - eingehender - mit dem Problem befassen.
Gruss
ewgh

Benutzeravatar
Anthea
Boarddoktor

<div title=Kreativer Administrator><b>Boarddoktor</b></div>
Beiträge: 10661
Registriert: Mo 5. Dez 2005, 13:15
Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
Receiverfirmware: aktuell :)
Wohnort: Fürth
Kontaktdaten:

AW: Kleiner Denksport- (und Logik?-) Thread

#857

Beitrag von Anthea » Di 8. Jan 2013, 17:12

Code: Alles auswählen

 4
 6  2
 9  3  1
19 10  7  ?
Was kommt an die Stelle des Fragezeichens?

Benutzeravatar
Julian
bekennender Fiesling Banause und Gemeinheit-Fan mit Herz für Topfazubis
bekennender Fiesling	Banause und Gemeinheit-Fan mit Herz für Topfazubis
Beiträge: 9910
Registriert: Di 10. Okt 2006, 11:16
Receivertyp: TF5500PVR
Receiverfirmware: Jan 2007
Wohnort: Nieder-Liebersbach

AW: Kleiner Denksport- (und Logik?-) Thread

#858

Beitrag von Julian » Di 8. Jan 2013, 17:18

6 ????
FF
Julian
----------------------------------------------------------------------
TAPs (Autostart):
NiceDisplay, Power Restore

Benutzeravatar
macfan
Ex-iTiNa-Promoter
Ex-iTiNa-Promoter
Beiträge: 24968
Registriert: Fr 9. Dez 2005, 10:16
Receivertyp: 2 x TF 2401 CI+, 2100, 5200 C, VU+ Ultimo 4K
Receiverfirmware: SRP-Serie: die neueste, 5k: Jan 07 PTU, VU+ VTi 15.0
Wohnort: Dortmund

AW: Kleiner Denksport- (und Logik?-) Thread

#859

Beitrag von macfan » Di 8. Jan 2013, 17:18

6

EDIT: Mist, 4 Sekunden ;)

Gruß, Horst

Benutzeravatar
Anthea
Boarddoktor

<div title=Kreativer Administrator><b>Boarddoktor</b></div>
Beiträge: 10661
Registriert: Mo 5. Dez 2005, 13:15
Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
Receiverfirmware: aktuell :)
Wohnort: Fürth
Kontaktdaten:

AW: Kleiner Denksport- (und Logik?-) Thread

#860

Beitrag von Anthea » Di 8. Jan 2013, 17:23

Pah, ihr seid einfach zu schnell. Ich hätte es doch mit 7-Stelligen Zahlen machen müssen statt nur mit so einfachen welchen ;)

Antworten

Zurück zu „Spielereien“