Seite 8 von 10

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 22:33
von regit
Danke euch allen für das Lob. Nun bin ich nur noch gespannt, wieviele Lösungen eingeschickt worden sind und ob überhaupt eine falsche dabei war. Der Stand heute Mittag war, bisher alle richtig. Dabei hätte ich so gerne auch eine falsche. :lol:

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 23:02
von LightInTheBlack
regit hat geschrieben: 01.12.2018, 22:33 Danke euch allen für das Lob. Nun bin ich nur noch gespannt, wieviele Lösungen eingeschickt worden sind und ob überhaupt eine falsche dabei war. Der Stand heute Mittag war, bisher alle richtig. Dabei hätte ich so gerne auch eine falsche. :lol:
Ich bin ja ein Fan der Lösung :D

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 23:08
von Bakhtosh
regit hat geschrieben: 01.12.2018, 22:33Der Stand heute Mittag war, bisher alle richtig. Dabei hätte ich so gerne auch eine falsche. :lol:
Auf die Gefahr hin nachher der Depp mit der falschen Lösung zu sein...
Aber ist eine falsche Lösung überhaupt möglich, wenn man die Gegenprobe mit den Hinweisen macht ?!?

Das fand' ich ja gerade so gut. Man konnte quasi die Lösung schonmal selbst checken... =D>

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 23:08
von Teledahner
regit hat geschrieben: 01.12.2018, 22:33 Danke euch allen für das Lob. Nun bin ich nur noch gespannt, wieviele Lösungen eingeschickt worden sind und ob überhaupt eine falsche dabei war. Der Stand heute Mittag war, bisher alle richtig. Dabei hätte ich so gerne auch eine falsche. :lol:
Dafür hättest du ja nur eine fiese Falle einbauen müssen. Einzelkämpfer kann dich da sicher beraten ... :twisted: Als ich gesehen habe, dass in dem Rätseltext was von 2006 stand, war ich auch gleich in Alarmbereitschaft, zum Glück aber unnötig.

Mir hat das Rätsel auch gefallen. Im ersten Moment dachte ich: Och, ein Logikrätsel, na das wird ja entspannend heute. Hat sich dann aber doch etwas mehr in die Länge gezogen als erwartet. Vielen Dank!

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 23:36
von Bense
LightInTheBlack hat geschrieben: 01.12.2018, 23:02Ich bin ja ein Fan der Lösung :D
Du bist ein Tor. =;

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 23:47
von z10
Bense hat geschrieben: 01.12.2018, 23:36
LightInTheBlack hat geschrieben: 01.12.2018, 23:02Ich bin ja ein Fan der Lösung :D
Du bist ein Tor. =;
Boo

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 01.12.2018, 23:56
von Amir
@Regit. Übrigens, sehr schönes Rätsel :) Wie immer, klein aber fein.

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 00:03
von lobotomisator
Nanu, erscheinen die Lösungen nicht mehr automatisch auf der Rätselseite?

Ok, also hier mal meine Lösung:

Code: Alles auswählen

var startDate = new Date();

function wordtest(testValue, correctValue) {
	var rightPositions = 0;
	var rightLetters = 0;
	
	for (var i=0; i<6; i++) {
		if (testValue[i] == correctValue[i]) {
			rightPositions++;
		}
	}
	
	for (var i=0; i<6; i++) {
		if (correctValue.indexOf(testValue[i])>=0) {
			rightLetters++;
		}
	}
	
	return {letters: rightLetters, positions: rightPositions};
}

function isAcceptable(testValue) {
	var result = wordtest(testValue, "MARTIN");
	if ( (result.letters != 2) || (result.positions != 1) )
		return false;
		
	result = wordtest(testValue, "ALBERT");
	if ( (result.letters != 4) || (result.positions != 0) )
		return false;
	
	result = wordtest(testValue, "WALTER");
	if ( (result.letters != 3) || (result.positions != 3) )
		return false;
	
	result = wordtest(testValue, "DITMAR");
	if ( (result.letters != 3) || (result.positions != 1) )
		return false;
	
	result = wordtest(testValue, "MARKUS");
	if ( (result.letters != 3) || (result.positions != 2) )
		return false;
	
	result = wordtest(testValue, "GORDEN");
	if ( (result.letters != 2) || (result.positions != 1) )
		return false;
	
	result = wordtest(testValue, "MORTEN");
	if ( (result.letters != 1) || (result.positions != 0) )
		return false;
	
	return true;
}

var password = new Array(6);

function iterate(pos) {
	for (var i = 65; i <= 90; i ++) {
		password[pos] = String.fromCharCode(i);
		
		if (pos < 5) {
			iterate(pos+1);
			continue;
		}
		
		var testValue = password.join('');

		//~ console.log("testing value: " + testValue);
		if (isAcceptable(testValue)) {
			console.log("Solution: " + testValue + "\n");
			
			var endDate = new Date();
			console.log('Time: ' + (endDate-startDate)/1000);
			if (typeof(process)!="undefined" && process != null && process.exit != null && typeof(process.exit)=="function")
				process.exit();
			break;
		}
	}
}

for (var pos = 0; pos < password.length; pos++) {
	iterate(pos);
}
Argh, das Code-Tag zerhaut ja total die Zeilenumbrüche, hier nochmal der Quellcode:
https://medienpad.de/p/r.c36487ee7e5950 ... 3c705ed625

Lauffähig im Browser (F12 drücken und dann in die Konsole einfügen) oder per NodeJS.
Vorher hatte ich noch Probleme mit der Iteration und habe es äußert hässlich mit Nested-For-Loops gelöst:

Code: Alles auswählen


for (var i0 = 65; i0 <= 90; i0 ++) {
	for (var i1 = 65; i1 <= 90; i1 ++) {
		for (var i2 = 65; i2 <= 90; i2 ++) {
			for (var i3 = 65; i3 <= 90; i3 ++) {
				for (var i4 = 65; i4 <= 90; i4 ++) {
					for (var i5 = 65; i5 <= 90; i5 ++) {
						var testValue = String.fromCharCode(i0) + String.fromCharCode(i1) + String.fromCharCode(i2) + String.fromCharCode(i3) + String.fromCharCode(i4) + String.fromCharCode(i5);
						//~ console.log("testing value: " + testValue);
						if (isAcceptable(testValue)) {
							console.log(testValue + "\n");
							process.exit();
						}
					}
				}
			}
		}
	}
}
Und mit Zeilenumbrüchen:
https://medienpad.de/p/r.1537d1a3bdcf93 ... 53557bbacc

Ist jetzt immer noch nicht der hübscheste Code, aber solange er die Lösung ausspuckt, ist alles gut :)

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 00:21
von z10
Woo, keine Zeilenumbrüche hier in dem Codeplugin, wtf?

Mein Pythonskript, was ich später geschrieben hatte (z.T. zusammengesucht) - leider nicht sonderlich schnell, der match code ist nicht wirklich gut, aber naja ^^.
https://pastebin.com/1S5ugTvC

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 00:34
von lobotomisator
z10 hat geschrieben: 02.12.2018, 00:21 Mein Pythonskript, was ich später geschrieben hatte (z.T. zusammengesucht) - leider nicht sonderlich schnell, der match code ist nicht wirklich gut, aber naja ^^.
https://pastebin.com/1S5ugTvC
Starke Lösung, halb so viele Zeilen gebraucht wie ich :D

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 00:38
von z10
Das liegt auch ein bisschen am Python-Syntax und weil deine Checks für die einzelnen Namen jeweils mehrere Zeilen brauchen. Dafür ist dein Code ja eindeutig schneller :)

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 00:39
von LightInTheBlack
Der Name war ein Volltreffer, 7 Jahre Pause, und dann direkt sowas. :D

Bild

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 01:11
von elfant
Dieses ist dann ein guter Einstieg.

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 08:37
von Hangman
Könnte mal bitte jemand die Lösung schreiben?

Re: Tag 1: Zum Starten des ATAK bitte Passwort eingeben

Verfasst: 02.12.2018, 09:40
von z10
Die Lösung ist "BALDUR".