Który dzień tygodnia jest dzisiaj?

Siedem osób spiera się, jaki może być obecny dzień tygodnia. Każdy stwierdza, co według niego wie:

  1. pojutrze jest środa.
  2. Nie, środa jest dzisiaj.
  3. Oboje się mylicie, Środa to jutro.
  4. Dzisiaj nie jest poniedziałek, ani wtorek ani środa.
  5. Myślę, że wczoraj był czwartek.
  6. Nie, wczoraj był wtorek.
  7. Cokolwiek. Wiem tylko, że wczoraj nie było soboty.

Wszystkie z wyjątkiem jednego są złe. Który dziś dzień?

Odpowiedź

Ponownie podsumowując ich wypowiedzi:

  1. Dzisiaj jest poniedziałek .
  2. Dzisiaj jest środa.
  3. Dzisiaj jest wtorek.
  4. Dzisiaj nie jest poniedziałek, ani wtorek ani środa.
  5. Dzisiaj jest piątek .
  6. Dziś jest środa.
  7. Dziś niedziela.

Wiemy, że dokładnie jedno z nich jest właściwe. Nie może to być środa (ponieważ wtedy 2 i 6 byłyby właściwe), ani czwartek, piątek ani sobota (od tego czasu 4 i 7 byłyby właściwe), ani poniedziałek ani wtorek (od tego czasu 7 byłby właściwy, podobnie jak 1 lub 3). Dzisiaj jest

Niedziela

i

4.

jest jedynym prawidłowym głośnikiem jeden.

Odpowiedź

7 mówi, że to nie jest niedziela, co zgadza się z 1,2,3,5,6. stąd dowód nie tylko na to, że wszystkie oprócz 4 są błędne, ale także na to, że skoro siódme zdanie jest błędne, oznacza to, że dzisiaj JEST niedziela. Wszystko można udowodnić za pomocą jednego stwierdzenia.

Komentarze

  • Uwielbiam kierunek, w którym przyszedłeś od.

Odpowiedź

Odpowiedź brzmi

Niedziela

Najlepszym sposobem wizualizacji tego jest utworzenie tabeli z wartościami:

$ \ begin {array} {c | c | c | c | c | c | c | c} \ underset {(Statement ~ \ #)} {\ text {Speaker}} & \ text {Pon} & \ text {Wt} & \ text {Śr} & \ text {Czw} & \ text {Pt} & \, \ text { Sat} \, & \ text {Sun} \\\ hline1 & \ text {X} \\\ hline2 & & & \ text {X} \\\ hline3 & & \ text {X} \\\ hline4 & & & & \ text {X} & \ text {X} & \ text {X} & \ color {red} {\ text {X}} \\\ hline5 & & & & & \ text {X} \\\ hline6 & & & \ text {X} \\\ hline7 & \ text {X} & \ text {X} & \ text {X} & \ text {X} & \ text {X} & \ text {X} \ end {array} $

Wypełnianie wierszy tabeli:
Stwierdzenie 1 jest prawdziwe tylko wtedy, gdy dzisiaj jest poniedziałek.
Stwierdzenie 2 jest prawdziwe tylko wtedy, gdy dzisiaj jest środa.
Stwierdzenie 3 jest prawdziwe tylko wtedy, gdy dzisiaj jest wtorek.
Stwierdzenie 4 jest prawdziwe tylko wtedy, gdy dzisiejszy dzień mieści się w przedziale od czwartku do S nie do przyjęcia.
Stwierdzenie 5 jest prawdziwe tylko wtedy, gdy dzisiaj jest piątek.
Stwierdzenie 6 jest prawdziwe tylko wtedy, gdy dzisiaj jest środa.
Stwierdzenie 7 mówi, że wczoraj nie była sobota. Wtedy wczoraj może być poniedziałek, wtorek, środa, czwartek, piątek lub niedziela. Więc dzisiaj jest wtorek, środa, czwartek, piątek, sobota lub poniedziałek – każdy dzień oprócz niedzieli.

Na koniec, czytając kolumny tabeli:
W poniedziałek stwierdzenia 1 i 7 są prawdziwe.
We wtorek stwierdzenia 3 i 7 są prawdziwe.
W środę stwierdzenia 2, 6 i 7 są prawda.
W czwartek stwierdzenia 4 i 7 są prawdziwe.
W piątek stwierdzenia 4, 5 i 7 są prawdziwe.
W sobotę stwierdzenia 4 i 7 są prawdziwe.
W niedzielę tylko stwierdzenie 4 jest prawdziwe.
Jedynym dniem, w którym prawdziwe jest tylko jedno stwierdzenie, jest dzień prawidłowy. To niedziela.

Komentarze

  • Czy możesz trochę wyjaśnić tę tabelę i uzasadnienie lepszy? Wygląda to na ładne rozwiązanie poglądowe, ale ja ' nie chcę głosować za, gdy ' ma tak mało wyjaśnień.Ponadto językiem tej witryny jest angielski, więc górny wiersz powinien prawdopodobnie zawierać MTWTFSS zamiast LMMJVSD 🙂
  • element 1 = poniedziałek, element 2 = środa, element 3 = wtorek, element 4 = aktualny Dzień mieści się w przedziale od czwartku do niedzieli, pozycja 5 = piątek, pozycja 6 = środa, pozycja 7 = wczoraj nie była sobota, wtedy może to być poniedziałek, wtorek, środa, czwartek, piątek, niedziela. Więc dzisiaj jest wtorek lub środa, czwartek, piątek, sobota lub poniedziałek. Jedynym dniem nieuwzględnionym jest niedziela. Wreszcie w poniedziałek (poz. 1,7), wtorek (poz. 3,7), środę (poz. 2,6,7), czwartek (poz. 4,7), piątek (poz. 4,5), sobotę (4,7) , Niedziela (4) Dzień wymieniony tylko raz jest dniem właściwym. Niedziela.
  • Ach, to muszą być hiszpańskie dni tygodnia! Kolejna zagadka XD

Odpowiedź

Do jej rozwiązania można użyć programu komputerowego (poniżej znajduje się w Racket language):

; SUN M T W TH F SAT ; 0 1 2 3 4 5 6 (define (f) ; assume today is x; (for ((x 7)) ; check x for 0 to 6 (printf "x=~a; count=~a ~n" x (count (lambda(x) x) (list (= 3 (+ x 2)) ; statements are listed here (= x 3) (= x 2) (and (not(= x 1)) (not(= x 2)) (not(= x 3))) (= x 5) (= x 3) (not (= 0 x)) ))))) (f) 

Od niedzieli do soboty przyjmuje wartości od 0 do 6 i sprawdza, ile zdań jest poprawnych dla każdego z nich. Wynik jest następujący:

x=0; count=1 x=1; count=2 x=2; count=2 x=3; count=3 x=4; count=2 x=5; count=3 x=6; count=2 

Zatem tylko 1 stwierdzenie jest poprawne tylko dla niedzieli (x = 0), stąd jest to odpowiedź.

Odpowiedź

Korzystanie z SymPy :

>>> from sympy import * >>> sunday, monday, tuesday, wednesday, thursday, friday, saturday = symbols("sunday monday tuesday wednesday thursday friday saturday") 

Ponieważ tylko jedna zmienna logiczna $ 7 $ może być prawdziwa:

>>> Sun = sunday & Not(monday) & Not(tuesday) & Not(wednesday) & Not(thursday) & Not(friday) & Not(saturday) >>> Mon = Not(sunday) & monday & Not(tuesday) & Not(wednesday) & Not(thursday) & Not(friday) & Not(saturday) >>> Tue = Not(sunday) & Not(monday) & tuesday & Not(wednesday) & Not(thursday) & Not(friday) & Not(saturday) >>> Wed = Not(sunday) & Not(monday) & Not(tuesday) & wednesday & Not(thursday) & Not(friday) & Not(saturday) >>> Thu = Not(sunday) & Not(monday) & Not(tuesday) & Not(wednesday) & thursday & Not(friday) & Not(saturday) >>> Fri = Not(sunday) & Not(monday) & Not(tuesday) & Not(wednesday) & Not(thursday) & friday & Not(saturday) >>> Sat = Not(sunday) & Not(monday) & Not(tuesday) & Not(wednesday) & Not(thursday) & Not(friday) & saturday >>> Today = Sun | Mon | Tue | Wed | Thu | Fri | Sat 

Tłumaczenie stwierdzeń 7 $:

>>> Phi1 = monday >>> Phi2 = wednesday >>> Phi3 = tuesday >>> Phi4 = Not(monday) & Not(tuesday) & Not(wednesday) >>> Phi5 = friday >>> Phi6 = wednesday >>> Phi7 = Not(sunday) 

Ponieważ 6 $ z 7 $ to fałsz:

>>> Psi1 = (Phi1 & Not(Phi2) & Not(Phi3) & Not(Phi4) & Not(Phi5) & Not(Phi6) & Not(Phi7)) >>> Psi2 = (Not(Phi1) & Phi2 & Not(Phi3) & Not(Phi4) & Not(Phi5) & Not(Phi6) & Not(Phi7)) >>> Psi3 = (Not(Phi1) & Not(Phi2) & Phi3 & Not(Phi4) & Not(Phi5) & Not(Phi6) & Not(Phi7)) >>> Psi4 = (Not(Phi1) & Not(Phi2) & Not(Phi3) & Phi4 & Not(Phi5) & Not(Phi6) & Not(Phi7)) >>> Psi5 = (Not(Phi1) & Not(Phi2) & Not(Phi3) & Not(Phi4) & Phi5 & Not(Phi6) & Not(Phi7)) >>> Psi6 = (Not(Phi1) & Not(Phi2) & Not(Phi3) & Not(Phi4) & Not(Phi5) & Phi6 & Not(Phi7)) >>> Psi7 = (Not(Phi1) & Not(Phi2) & Not(Phi3) & Not(Phi4) & Not(Phi5) & Not(Phi6) & Phi7) >>> Psi = Psi1 | Psi2 | Psi3 | Psi4 | Psi5 | Psi6 | Psi7 

Upraszczając:

>>> simplify(Today & Psi) And(Not(friday), Not(monday), Not(saturday), Not(thursday), Not(tuesday), Not(wednesday), sunday) 

Dlatego dzisiaj jest Niedziela .

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *