happy___ 发表于 2021-11-8 21:30:17

大佬们,帮忙解道题呗

甲乙丙丁四个人同时参加一次数学竞赛,赛后,他们四个人预测名次的谈话如下:
甲说:丙是第一名,我第三名。
乙说:我是第一名,丁第四名。
丙说:丁是第二名,我第三名。
丁没有说话。

宸宸城堡 发表于 2021-11-8 21:38:06

你这也不是编程题呀{:5_94:}

happy___ 发表于 2021-11-8 21:40:13

用C++做

happy___ 发表于 2021-11-8 21:40:50

宸宸城堡 发表于 2021-11-8 21:38
你这也不是编程题呀


用C++做

jhq999 发表于 2021-11-8 21:48:29

int main()
{
printf("甲乙丙丁四个人同时参加一次数学竞赛,赛后,他们四个人预测名次的谈话如下:\n");
printf("甲说:丙是第一名,我第三名。\n");
printf("乙说:我是第一名,丁第四名。\n");
printf("丙说:丁是第二名,我第三名。\n");
printf("丁没有说话。\n");
return 0;
}{:5_109:}

傻眼貓咪 发表于 2021-11-8 21:59:18

def f(a, b, c, d): # 用于判断 a, b, c, d 的值全部不一样
    return a != b != c != d != a and b != d and c != a


for a in range(1, 5):
    for b in range(1, 5):
      for c in range(1, 5):
            for d in range(1, 5):
                if f(a, b, c, d) and a == 3 and c == 1:
                  print(f"甲{a} 乙{b} 丙{c} 丁{d}")
                elif f(a, b, c, d) and b == 1 and d == 4:
                  print(f"甲{a} 乙{b} 丙{c} 丁{d}")
                elif f(a, b, c, d) and b == 1 and d == 4:
                  print(f"甲{a} 乙{b} 丙{c} 丁{d}")
                elif f(a, b, c, d) and c == 3 and d == 2:
                  print(f"甲{a} 乙{b} 丙{c} 丁{d}")甲1 乙4 丙3 丁2
甲2 乙1 丙3 丁4
甲3 乙1 丙2 丁4
甲3 乙2 丙1 丁4
甲3 乙4 丙1 丁2
甲4 乙1 丙3 丁2
页: [1]
查看完整版本: 大佬们,帮忙解道题呗