Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 04:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Coding-Rätsel | Forumspiel

Discussion on Coding-Rätsel | Forumspiel within the General Coding forum part of the Coders Den category.

Reply
 
Old 02/13/2016, 02:18   #16
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Okay ich hau mal ein kleines Rätsel für zwischendurch rein:

Ist Smith der Mörder?
Quote:
Du bist Detektiv und sollst herausfinden ob Smith mit 100% Sicherheit der Mörder war, dazu hast du genau folgende Zeugenaussagen:

John: "Smith ist der Mörder und ich habe ihn zur Tatzeit gesehen war aber nach Mitternacht nicht am Tatort, was heißt, dass die Tatzeit vor Mitternacht war"
Smith: "Wenn ich der Mörder bin und der Mord nach Mitternacht war, dann kann ich John nicht getroffen haben"
William: "Der Mord ist nach Mitternacht passiert"

Von den Aussagen oben ist genau eine gelogen, die zwei anderen sind die Wahrheit (wir wissen jedoch nicht welche wahr/gelogen sind).
Die Frage ist jetzt, kann man eindeutig sagen, dass Smith der Mörder ist und wenn ja warum? Wenn nein warum nicht?

P.S.
Nein es geht nicht um irgendwelche versteckte Keywörter o.ä. es geht hier wirklich nur um die Logik-Frage an sich.
Shadow992 is offline  
Old 02/13/2016, 03:17   #17
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Ich komme nicht drauf. Mein Ansatz wäre:

algernong is offline  
Thanks
2 Users
Old 02/13/2016, 13:25   #18
 
DrackenDarck's Avatar
 
elite*gold: 52
Join Date: Sep 2010
Posts: 4,853
Received Thanks: 833
Quote:
Originally Posted by Shadow992 View Post
Okay ich hau mal ein kleines Rätsel für zwischendurch rein:

Ist Smith der Mörder?



P.S.
Nein es geht nicht um irgendwelche versteckte Keywörter o.ä. es geht hier wirklich nur um die Logik-Frage an sich.

Quote:
- Die Thematik des Rätsels muss sich zwingend mit Informatik beschäftigen.
Sicher,dass es darauf zutrifft und nicht einfach ein Rätsel ist? Weil dann wäre es hier falsch
Weil dann können wir auch einfach ein Finde den Fehler in einem Bild spielen
DrackenDarck is offline  
Thanks
1 User
Old 02/13/2016, 13:47   #19


 
onahoe's Avatar
 
elite*gold: 10
Join Date: May 2013
Posts: 814
Received Thanks: 1,265
Quote:
Originally Posted by DrackenDarck View Post
Sicher,dass es darauf zutrifft und nicht einfach ein Rätsel ist? Weil dann wäre es hier falsch
Weil dann können wir auch einfach ein Finde den Fehler in einem Bild spielen
Naja im Entfernten hat es was mit Logikprogrammierung zu tun, also gar nicht soo abwegig, aber das war auch mein erster Gedanke. Aber ich lasse es mal gelten, solange es fortan nicht ständig solche Logikscheiße zu sehen gibt Achja, dein Rätsel war übrigens nicht zu schwer. Habe es in 3 Minuten geknackt, nur leider 'ne Stunde zu spät gesehen ^^
onahoe is offline  
Thanks
2 Users
Old 02/13/2016, 14:12   #20
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
Originally Posted by Shadow992 View Post
Nein es geht nicht um irgendwelche versteckte Keywörter o.ä. es geht hier wirklich nur um die Logik-Frage an sich.
Ich würde vermuten das man eine Wahrheitstabelle aufstellen muss und eine der drei aufsagen eliminiert und schaut wo sich alle drei Tabellen schneiden?
alpines is offline  
Thanks
1 User
Old 02/13/2016, 14:49   #21


 
onahoe's Avatar
 
elite*gold: 10
Join Date: May 2013
Posts: 814
Received Thanks: 1,265
Quote:
Originally Posted by alpines View Post
Ich würde vermuten das man eine Wahrheitstabelle aufstellen muss und eine der drei aufsagen eliminiert und schaut wo sich alle drei Tabellen schneiden?
Es ist ja an sich 'ne einfache Aufgabe, sodass man es mit Probieren rauskriegen könnte, aber es formaler wäre, wenn man 'ne aussagenlogische Formel aufstellt und dann mit 'ner Wahrheitstabelle auswertet. Da man 100% will muss es am Ende 'ne Tautologie also allgemeingültig sein. Aber macht mal, ich bin dafür eh zu blöde
onahoe is offline  
Thanks
1 User
Old 02/13/2016, 17:18   #22
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by algernong View Post
Ich komme nicht drauf. Mein Ansatz wäre:

Das ist eine mögliche Lösung, also seh ich es als gelöst an auch wenn da ein Fragezeichen am Ende ist (wollte ja nur nen kleines für Zwischendurch reinhauen bis sich jemand ein neues überlegt hat).

Das heißt:
Nein man kann nicht sicher sagen, dass Smith der Mörder ist.

Edit:
@Logik
Ihr werdet nicht glauben wie oft sich ein Informatiker mit Logikfragen beschäftigen muss und wie viele verschiedene Ansätze es dafür in der Informatik gibt.
Da Informatik ja sowieso eine Kombination von Mathe, "Computer-Konzepte" und bissel Physik ist, ist es schwer Fragen zu stellen, die sich nicht auch mit Mathe/Physik beschäftigen.

@Wahrheitstafel
Kann man natürlich machen, ist aber doch bissel Aufwand, dafür dass man relativ schnell sehen kann (und sicher die Intuition einem das auch sagt), dass man nicht sicher sagen kann, dass Smith der Mörder ist.

@Tautologie
Ebenfalls eine Möglichkeit aber dauert halt bissel
Shadow992 is offline  
Old 02/13/2016, 18:17   #23
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Ich habe auch eins (ist aber nicht von mir, nur umgeschrieben):

Quote:
Wir haben 100 SRAM Speicherzellen für je ein Bit. Nach dem Einschalten sind die Speicherzellen in unbekanntem Zustand: Wir wissen nicht, welche Zelle im Zustand "1" und welche im Zustand "0" ist. Leider haben wir auch unser Messgerät vergessen, weswegen wir keine Möglichkeit haben, die Zustände irgendwie herauszufinden.

Einzig erinnern wir uns an die letzte Unterrichtseinheit "Quacksalberei mit Mr. Info", nach der SRAM Speicherzellen genau im Verhältnis 1:9 den Zustand "1" annehmen. Haargenau 10 der 100 Speicherzellen haben also den Zustand "1", währen die anderen 90 den Zustand "0" haben.

Für eine magische Voodoo-Anwendung müssen wir den Speicher nun derart in zwei Bereiche unterteilen, dass in beiden Bereichen genau gleich viele Bits den Zustand "1" haben. Die Bereiche müssen nicht gleich groß sein, die Anzahl der 0en ist egal, die Bereiche müssen disjunkt sein und den Speicher komplett abdecken. Der erste Speicherbereich umfasst also die Bits 1..x, der zweite Speicherbereich die Bits (x+1)..100.

Wegen einem Defekt in der ALU steht uns außerdem nur das logische Nicht zur Verfügung. Also kein bitweises Und, Oder, ... und keine arithmetischen Operationen.

Wie bekommen wir die Voodoo Anwendung zum Laufen?
algernong is offline  
Thanks
1 User
Old 02/13/2016, 18:32   #24
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by algernong View Post
Ich habe auch eins (ist aber nicht von mir, nur umgeschrieben):
Ich bin verwirrt?
Heißt das ich kann genau folgende "Operationen" verwenden?

- Logisches Nicht

Und das alles ist nicht möglich:

- Auslesen einzelner Bits
- Vergleichsoperatoren
- Arithmetische Operatoren
- Verknüpfen der Bits in jeglicher Art und Weise

Das heißt ich habe im Grunde die Infos:

- 10% sind 1
- 2 Teile sind gefordert

Und alles was ich damit machen kann ist im Grunde ein:

Not(SRAM_KOMPLETT)
bzw. NOT(NOT(SRAM_KOMPLETT))

Wie soll man damit das Rätsel lösen oder habe ich was falsch verstanden?
Shadow992 is offline  
Old 02/13/2016, 18:36   #25
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Du darfst NOT auch auf einzelnen Speicherzellen anwenden, nicht nur auf den kompletten SRAM. NOT(10) oder NOT(50..62) usw. geht also auch

Quote:
Und das alles ist nicht möglich:
Genau

Und am Ende muss das Verhältnis 1:9 nicht mehr gelten; es müssen nur genau gleich viele 1en in beiden Bereichen sein, wobei die genaue Anzahl egal ist.
algernong is offline  
Thanks
1 User
Old 02/13/2016, 21:10   #26
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by algernong View Post
Du darfst NOT auch auf einzelnen Speicherzellen anwenden, nicht nur auf den kompletten SRAM. NOT(10) oder NOT(50..62) usw. geht also auch


Genau

Und am Ende muss das Verhältnis 1:9 nicht mehr gelten; es müssen nur genau gleich viele 1en in beiden Bereichen sein, wobei die genaue Anzahl egal ist.
Ich hab dazu 3 Ideen, wobei ich für die eine schon ein ganz grobes Grundgerüst habe (scheint aber nicht in jedem Fall zu funktionieren).

1. Alle 1en bzw. 0en entfernen, dann ist es egal wie man partitioniert (scheint mir schwer/nicht möglich zu sein)

2. Alle 1en ans Ende/an den Anfang verschieben. Eine Einzige 1 lässt sich zum Beispiel mit einem abwechselnden Not verschieben:

Quote:
1000
-> Verschieben, indem man auf Bit 0,1 dann auf Bit 1,2 und dann auf 2,3 ein Not anwendet:
Quote:
1000 -> 0100 -> 0010 -> 0001
Ich weiß nur nicht wie man das allgemeingültig anwendbar macht. Sehe hier aber großes potential.

3. Einen Algorithmus erdenken, der egal wo die Zahlen sind, nach einer bestimmten Anzahl Wiederholungen die 1en immer an dieselbe Stelle bringt (sowas wie abgewandeltes Bogosort ).

Aber keine konkreten Ideen, ich bin kurz davor da einmal Evolutionäre-Programmierung drauf zuhauen, mal sehen
Shadow992 is offline  
Old 02/13/2016, 21:21   #27


 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,484
Received Thanks: 3,109
Das mit dem Verschieben müsste sich ja aufheben dann.. Bei genau 10 Bits die 1en sind.

Angenommen du hast folgende Struktur und fängst an bei der 1 mit dem verschieben nach Rechts, also ein Not auf die Bits 3,4:

Code:
0010001  -> 0001001 -> 00000101 -> 00000011 -> 00000000
somit müsste sich ja über kurz oder lang alle 1en entfernen, bei einer Geraden Anzahl von Einsen. Wenn keine 1 mehr vorhanden ist, ist auch die Bedigung erfüllt.
Menan is offline  
Old 02/13/2016, 21:30   #28
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Menan View Post
Das mit dem Verschieben müsste sich ja aufheben dann.. Bei genau 10 Bits die 1en sind.

Angenommen du hast folgende Struktur und fängst an bei der 1 mit dem verschieben nach Rechts, also ein Not auf die Bits 3,4:

Code:
0010001  -> 0001001 -> 00000101 -> 00000011 -> 00000000
somit müsste sich ja über kurz oder lang alle 1en entfernen, bei einer Geraden Anzahl von Einsen. Wenn keine 1 mehr vorhanden ist, ist auch die Bedigung erfüllt.
Prinzipiell ja, da du aber nicht weiß wo die 1en sind und ein plumpes "verschieben" von vorne bis hinten würde bei deinem Beispiel das produzieren:
Quote:
0010001 -> 1110001 -> 1000001 -> 1011001 -> 1010101-> 1010011 -> 1010000
Das heißt hier hättest du eher eine Verschiebung nach links. Das ist eben das Problem, es funktioniert nicht in jedem Fall sondern nur in ein paar bestimmten Fällen, theoretisch muss es aber für alle Verteilungen passen.
Shadow992 is offline  
Old 02/13/2016, 21:32   #29


 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,484
Received Thanks: 3,109
Stimmt, da hast du recht.

Aber kannst du nicht garantieren, dass der Zustand nach einer gewissen Anzahl an Iterationen immer gleich sein könnte, egal wie die Bits am Anfang belegt waren?

Und dann von diesem einem "bekannten" Zustand weiter machen?
Menan is offline  
Old 02/13/2016, 21:43   #30
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Menan View Post
Stimmt, da hast du recht.

Aber kannst du nicht garantieren, dass der Zustand nach einer gewissen Anzahl an Iterationen immer gleich sein könnte, egal wie die Bits am Anfang belegt waren?

Und dann von diesem einem "bekannten" Zustand weiter machen?
Ich habe hier auch einmal einen quick & dirty C++ Code aufgesetzt und bissel rumprobiert, tatsächlich gibt es Fälle wo das ganze oszilliert (das heißt nach 10x durchgehen fängts wieder von vorne an). Das liegt aber immer daran wie die Bits verteilt sind.

Das beste ist echt, wenn man es schafft einen Algorithmus zu machen, der immer genau 1 Bit von links nach rechts bringt und keine Bits sich auflösen/überschreiben.

Da man weiß, dass es genau 10 sind müsste man immer nur die letzten 5 und die restlichen 95 jeweils in eine Partition packen.

Aber mir fehlt noch dieser Tausch-Algorithmus. :/

Falls es jemand hilft mein Quick&Dirty C++ Code:
Code:
#include <iostream>
#include <vector>

using namespace std;

void NOT_ARR(vector<bool>& arr,int start, int endIdx)
{
    for(int i=start;i<endIdx;i++)
    {
        arr[i] = !arr[i];
    }
}

void printArr(vector<bool>& arr)
{
    for(int i=0;i<100;i++)
    {
        cout<<arr[i];
        if(i%20==19)
            cout<<endl;
    }
    cout<<endl;
}

int main()
{
    const int bitsToSetCount=1;
    const int step=2;
    const int halfstep=step/2;

    srand(time(NULL));

    vector<bool> arr(100,0);
    int addedBits=0;

    while(addedBits<bitsToSetCount)
    {
        //uncomment to set first bit
        int bitToSet=0;

        //uncomment to set random bit
        //int bitToSet=rand()%100;
        if(arr[bitToSet]==false && rand()%10==0)
        {
            addedBits++;
            arr[bitToSet]=true;
        }
    }

    printArr(arr);

    for(int a =0;a<4;a++)
    {
        //NOT_ARR(arr,0,1);
        for(int i=0;i<100-1;i+=halfstep)
        {
            NOT_ARR(arr,i,i+step);
        }
        printArr(arr);
    }
}
Shadow992 is offline  
Reply


Similar Threads Similar Threads
Forumspiel
04/06/2014 - Off Topic - 6 Replies
verhafte den user über dir ... ... und sag uns, was er verbrochen hat
[Forumspiel] Bewerte die Signatur über dir! [GFX]
12/19/2012 - Off Topic - 21 Replies
Moin Leute, dies ist ein kleines Forumspiel, "Bewerte die Signatur über dir!" Bewertet einfach die Signatur von dem jenigen über euch. Punkte sind 0 / 10! Viel Spaß
[!] Leauge of Legends Forumspiel [!]
07/28/2011 - League of Legends - 12 Replies
Schönen guten Morgen, Ich bin mir nicht sicher, ob du es so einen Topic schon gibt, allerdings habe ich keinen gefunden. Ich möchte euch einmal kurz erklären wie das Leauge of Legends Forumspiel funktioniert. Ich nenne euch 2 Setups für ein Spiel das wirklich stattfinden könnte. Bei dem eigenem Team fehlt jedoch der letze Champ und den müsst ihr aussuchen. Am besten erklärt ihr wieso ihr welchen Champ als 5tes in das Lineup nehmen würdet und welche Vorteile etc das hätte.
Lustiges Forumspiel =)
04/23/2011 - Off Topic - 5 Replies
Also ich hab mir dass so vorgestellt es ist ein Spiel bei dem man hochzählt und gleichzeitig kann man über verschiedenstes diskutieren wenn ein Mod/Admin/Premium eine Zahl reinschreibt geht es wieder von vorne los^^ Ich fang gleichmal an 1:D
[Forumspiel] Mit 1€ würde ich...
02/13/2011 - Off Topic - 81 Replies
Was würdet ihr machen, wenn ihr genau 1€ hättet? __________________ Wenn ICH 1 € hätte würde ich mir einen Cheeseburger kaufen :'D



All times are GMT +1. The time now is 04:28.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.