谁在说谎 c,java实现

来源:互联网 发布:淘宝店怎么铺货 编辑:程序博客网 时间:2024/04/25 01:47
张三说李四说慌,李四说王五说慌,王五说张三和李四都在说谎,问究竟谁在说谎,谁没说谎?
//

谁在说谎。三个疑犯在法官面前各执一词。甲说:乙在说谎,乙说:丙在说谎;丙说:甲和乙都在说谎。法官为了难,甲乙丙三人谁在说谎?谁说的是真话呢?

C语言实现

#include <stdio.h>int main(){int a,b,c;for(a=0;a<=1;a++){for(b=0;b<=1;b++){for(c=0;c<=1;c++){if((a&&!b||!a&&b)&&(b&&!c||!b&&c)&&(c&&a+b==0||!c&&a+b!=0)){printf("张三:");printf(a?"truth\n":"lie\n");printf("李四:");printf(b?"truth\n":"lie\n");printf("王五:");printf(c?"truth\n":"lie\n");}}}}}


java实现
public class Liar { public static void main(String[] args) {for (int i = 0; i <= 1; i++) {for (int j = 0; j <= 1; j++) {for (int k = 0; k <= 1; k++) {if(((i==1&&j==0)||(i==0&&j==1))&&((j==1&&k==0)||(j==0&&k==1))&&((k==1&&i+j==0)||(k==0&&i+j>=1))){System.out.print("甲\t");System.out.println(i==1?"真":"假");System.out.print("乙\t");System.out.println(j==1?"真":"假");System.out.print("丙\t");System.out.println(k==1?"真":"假");}}}}}}


原创粉丝点击