7 ihmistä kiistelee, mikä nykyinen viikonpäivä voisi olla. Kukin kertoo mitä uskoo tietävänsä:
- huomenna on keskiviikko.
- Ei, keskiviikko on tänään.
- Olette molemmat väärässä, Keskiviikko on huomenna.
- Tänään ei ole maanantai, eikä tiistai tai keskiviikko.
- Luulen, että eilinen oli torstai.
- Ei, eilinen oli tiistai.
- Mikä tahansa. Tiedän vain, että eilinen ei ollut lauantai.
Kaikki he, paitsi yksi, ovat väärässä. Mikä päivä se on?
Vastaa
Lausuntojen uudelleen muotoilu:
- Tänään on maanantai .
- tänään on keskiviikko.
- tänään on tiistai.
- tänään ei ole maanantai, eikä tiistai tai keskiviikko.
- tänään on perjantai .
- Tänään on keskiviikko.
- Tänään ei ole sunnuntai.
Tiedämme, että juuri yksi näistä on oikea. Se ei voi olla keskiviikko (siitä lähtien molemmat ovat molemmat oikeassa), eikä torstai, perjantai tai lauantai (siitä lähtien molemmat ovat oikeassa 4 ja 7), eikä se voi olla maanantai tai tiistai (siitä lähtien 7 olisi oikea ja niin olisi 1 tai 3). Joten tänään on
sunnuntai
ja
4.
kaiutin on ainoa oikea yksi.
Vastaa
7 sanoo, että se ei ole sunnuntai, joka on yhtä mieltä 1,2,3,5,6: n kanssa. sen vuoksi todiste paitsi siitä, että kaikki paitsi 4 on väärä, myös se, että koska seitsemäs väite on väärä, se tarkoittaa, että tänään ON sunnuntai. Kaikki voidaan todistaa vain yhdellä lausekkeella.
Kommentit
- Rakasta suuntaasi, johon tulit lähettäjältä.
Vastaus
Vastaus on
sunnuntai
Paras tapa visualisoida se on luomalla taulukko, jossa on arvot:
$ \ begin {array} {c | c | c | c | c | c | c | c} \ alaviiva {(Statement ~ \ #)} {\ text {Speaker}} & \ text {Mon} & \ text {ti} & \ text {ke} & \ text {to} & \ text {pe} & \, \ text { La} \, & \ text {sun} \\\ hline1 & \ text {X} \\\ hline2 & & & \ text {X} \\\ hline3 & & \ text {X} \\\ hline4 & & & & \ text {X} & \ text {X} & \ text {X} & \ color {punainen} {\ text {X}} \\\ hline5 & & & & & \ text {X} \\\ hline6 & & & \ text {X} \\\ hline7 & \ text {X} & \ text {X} & \ text {X} & \ text {X} & \ text {X} & \ text {X} \ end {array} $
Taulukon rivien täyttäminen:
Lausunto 1 on totta vain, jos tänään on maanantai.
Lausunto 2 on totta vain, jos tänään on keskiviikko.
Lausunto 3 on totta vain, jos tänään on tiistai.
Lausunto 4 on totta vain, jos tänään on välillä torstaista etelään unday.
Lausunto 5 on totta vain, jos tänään on perjantai.
Lausunto 6 on totta vain, jos tänään on keskiviikko.
Lausunnossa 7 sanotaan, ettei eilinen ollut lauantai. Silloin eilen voi olla maanantai, tiistai, keskiviikko, torstai, perjantai tai sunnuntai. Joten tänään on tiistai, keskiviikko, torstai, perjantai, lauantai tai maanantai – mikä tahansa päivä paitsi sunnuntai.Lue lopuksi taulukon sarakkeet:
Maanantaina lausumat 1 ja 7 pitävät paikkansa.
Tiistaina lausumat 3 ja 7 pitävät paikkansa.
Keskiviikkona lausumat 2, 6 ja 7 ovat totta. totta.
Torstaina lausumat 4 ja 7 pitävät paikkansa.
Perjantaina lausumat 4, 5 ja 7 pitävät paikkansa.
Lauantaina lausumat 4 ja 7 pitävät paikkansa.
Sunnuntaina vain lause 4 on totta.
Ainoa päivä, jolloin vain yksi lausuma on totta, on oikea päivä. Se on sunnuntai.
Kommentit
- Voitko selittää tätä taulukkoa ja perustelujasi hieman paremmin? Se näyttää hyvältä kuvalliselta ratkaisulta, mutta en ’ halua vastustaa ääntä, kun ’ on niin vähän selitystä.Tämän sivuston kieli on myös englanti, joten ylimmän rivin tulisi todennäköisesti olla MTWTFSS eikä LMMJVSD 🙂
- item 1 = maanantai, item 2 = keskiviikko, item 3 = tiistai, item 4 = Current Päivä vaihtelee torstaina ja sunnuntaina, kohta 5 = perjantai, kohta 6 = keskiviikko, kohta 7 = eilen ei ollut lauantai, sitten eilen se voi olla maanantai, tiistai, keskiviikko, torstai, perjantai, sunnuntai. Joten tänään on tiistai tai keskiviikko, torstai tai perjantai tai lauantai tai maanantai. Ainoa päivä, joka ei sisälly hintaan, on sunnuntai. Lopuksi maanantai (kohta 1,7), tiistai (kohta 3,7), keskiviikko (kohta 2,6,7), torstai (kohta 4,7), perjantai (kohta 4,5), lauantai (4,7) , Sunnuntai (4) Päivä, joka mainitaan vain kerran, on oikea päivä. Sunnuntai.
- Ah, näiden on oltava Espanjan viikonpäivät! Toinen pulma siellä XD
vastaus
Tietokoneohjelmaa voidaan käyttää sen ratkaisemiseen (seuraava on mailassa kieli):
; 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)
Suunnasta su-la vie arvot 0–6 ja tarkistaa, kuinka monta lausetta kullekin on oikea. Lähtö on:
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
Siksi vain yksi lause on oikea vain sunnuntaille (x = 0), joten se on vastaus.
Vastaa
SymPy -ohjelman käyttäminen:
>>> from sympy import * >>> sunday, monday, tuesday, wednesday, thursday, friday, saturday = symbols("sunday monday tuesday wednesday thursday friday saturday")
Koska vain yksi Boolen $ 7 $ -muuttujista voi olla totta:
>>> 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
$ 7 $ -lausekkeiden kääntäminen:
>>> Phi1 = monday >>> Phi2 = wednesday >>> Phi3 = tuesday >>> Phi4 = Not(monday) & Not(tuesday) & Not(wednesday) >>> Phi5 = friday >>> Phi6 = wednesday >>> Phi7 = Not(sunday)
Koska $ 6 $ / $ 7 $ on väärä:
>>> 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
Yksinkertaistaminen:
>>> simplify(Today & Psi) And(Not(friday), Not(monday), Not(saturday), Not(thursday), Not(tuesday), Not(wednesday), sunday)
Tästä syystä tänään on sunnuntai .