Margaret C. Edmiston, Muriel Mandell
“Zagadki Czarodziejów”
Klub dla Ciebie, Warszawa 2003

JAKI DZIŚ DZIEŃ TYGODNIA ? (III)

Oto spotkanie mieszkańców Dziwnego Kraju.
Jeden kłamie w poniedziałki, środy i piątki, 
drugi - we wtorki, czwartki i soboty. 
Jeden z nich mówi, że wczoraj mówił prawdę.
Drugi z nich mówi, że wczoraj był poniedziałek.

Jaki dziś dzień tygodnia ?

For [i=0,i<8,i++,
If [(i==1)||(i==3)||(i==5), a[i]=0,
a[i]=1];
If [(i==2)||(i==4)||(i==6), b[i]=0,
 b[i]=1]];

(* sprawdzam,czy dobrze okresliłem założenia
o dniach mówienia prawdy i nieprawdy *)

For [i=0,i<8,i++,
Print[" a[",i,"]= ",a[i],"   b[",i,"]= ",b[i]]]

(* I przypadek: pierwszy odpowiada A *)

For [i=1,i<8,i++,
If [(((a[i]==1)&&(a[i-1]==1))||((a[i]≠1)&&(a[i-1]≠1)))&&(((b[i]==1)&&(i-1==1))||((b[i]≠1)&&(i-1≠1))),
Print[" A mówi, że wczoraj mówił prawdę, a B mówi, że wczoraj był poniedziałek"];
Print[" I: i= ",i,",   a[",i,"]= ",a[i],",   b[",i,"]= ",b[i]]]]

(* Brak rozwiązania dla tego przypadku *)

(* II przypadek: pierwszy odpowiada B *)

For [i=1,i<8,i++,
If [(((b[i]==1)&&(b[i-1]==1))||((b[i]≠1)&&(b[i-1]≠1)))&&(((a[i]==1)&&(i-1==1))||((a[i]≠1)&&(i-1≠1))),
Print[" B mówi, że wczoraj mówił prawdę, a A mówi, że wczoraj był poniedziałek"];
Print[" II: i= ",i,",   a[",i,"]= ",a[i],",   b[",i,"]= ",b[i]]]]