最後に、dを本当とすると、前の3人が本当と分かっているので全員が正直者となり、d自身の発言と矛盾。以上から、a、b、cが本当で、dが嘘と分かります。嘘のことを言う人数で場合分けNobleScarletさん、すてさん、(参考)拡張問題a1〜an、b1〜bnの2n人のグループがあります。(ただし、nは偶数)それぞれが、グループ内の人の発言について話しています。a1:この中に本当のことを言っている人が1人以上いるよ。・・・an:この中に本当のことを言っている人がn人以上いるよ。b1:この中に嘘を言っている人が1人以上いるよ。・・・bn:この中に嘘を言っている人がn人以上いるよ。この中で本当のことを言っているのは誰々でしょう?解答例2と同様にして、「正直者が0人」、「嘘つきが0人」はどちらも矛盾となりますので、まずa1、b1の2人は正しいことが分かります。すると、「正直者が2人以上」とするa2も正しくなり、合わせて3人が正しくなります。よって、「正直者が3人以上」とするa3も正しくなり、合わせて4人が正しくなります。以下同様にして、a1〜anの全員が正しいことが分かります。kを1≦k≦nとして、bkが正しいとします。bkは「k人以上嘘つき」と言っているので、それより少ない人数以上が嘘つきというb1〜bk-1も正しいことになります。このようなkの最大値をmとします。(1≦m≦n)もし、m=nとすると、全員正しくなり、「嘘つきがいる」と言うb1〜bnの発言と矛盾しますので、m<n。よって、b1〜bmのm人が正しく、bm+1〜bnの(n-m)人が嘘となります。従って、m≦n-mで、かつm+1>n-mでなければなりません。これから、n/2-1/2<m≦n/2となり、nが偶数であることから、n/2は整数、よって、m=n/2となります。以上から、本当のことを言っているのは、a1〜an、およびb1〜bm(ただし、m=n/2)となります。ちなみに、n=2のとき、本問題の場合と一致します。