Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tre oracoli divini A, B, e C sono chiamati, in un qualche ordine, Verace, Mendace e Imprevedibile. Verace dice sempre il vero, Mendace dice sempre il falso, mentre Imprevedibile decide se essere sincero o meno in modo completamente casuale. L'obiettivo del gioco è determinare le identità di A, B, e C ponendo loro tre domande a cui è possibile rispondere con un 'si' o con un 'no'. Ogni domanda deve essere posta ad uno solo degli oracoli, che, pur comprendendo l'italiano, risponderà sempre nella propria lingua con le parole 'da' o 'ja'. Non si sa quale di questi termini corrisponda a 'sì' e quale a 'no'.
- Boolos fornisce inoltre le seguenti precisazioni:
- Può essere che a qualche oracolo venga posta più di una domanda (o anche che non ne vengano poste affatto).
- Sia il contenuto che il destinatario della seconda domanda possono dipendere dalla risposta ricevuta alla prima (e sarà lo stesso per il terzo quesito).
- L'oracolo Imprevedibile si comporta come se, prima di ogni risposta, lanciasse una moneta per decidere come comportarsi: se esce testa sarà sincero, se esce croce dirà il falso.
- Imprevedibile risponderà 'da' o 'ja' quando gli si porranno domande del tipo si/no.
- SPOILER SOLUZIONE SOTTO
- CV => Casuale Vero
- CF => Casuale Falso
- NCV/V => Vero
- NCF/F => Falso
- SEI_CASUALE($oracolo){
- Se chiedo ad $oracolo se è CV || NCF mi dice ja?
- ja = si, da = no:
- CV: ja
- CF: ja
- NCV: da
- NCF: da
- ja = no, da = si:
- CV: ja
- CF: ja
- NCV: da
- NCF: da
- }
- SEI_VERO($oracolo){
- Se chiedo ad $oracolo se è V mi dice ja?
- ja = si, da = no:
- V: ja
- F: da
- ja = no, da = si:
- V: ja
- F: da
- }
- Svolgimento:
- T = (1. SEI_CASUALE(A) ? A :
- (2. SEI_CASUALE(B) ? B : C ) )
- 3. SEI_VERO(T)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement