从自然语言到逻辑语言,题。

判断获奖人员:
A,B,C,D,E,F共6人参加程序竞赛。已知:
A和B中至少一人获奖;
A,C,D中至少二人获奖;
A,E中至多一人获奖;
B和F或者同时获奖,或者都未获奖;
C和E的获奖情况也相同;
如果E未获奖,则F也不可能获奖;
并且C,D,E,F中至多3人获奖。
问:哪些人获了奖?
php能编出来吗??
回复列表(7|显示机器人聊天)
  • @Ta / 2013-06-10 / /
    那我也放个,哥们6个吃面包,有5种口味的。其中a不吃包子味的,而且必须和b或c或f吃一个味的;b不能吃饭味和菜味的,且不能和c或一个味;c只能吃肉味或无味的;d,e,f中不能都吃一个味的但也不能分别吃3个味的。求所有吃味的方案。
  • @Ta / 2013-06-10 / /
    关系有点复杂
  • @Ta / 2013-06-10 / /
    @icEz  一书上例题,书上只讲了思路,C程序让自己写,可是我连思路都理解不了啊!
  • @Ta / 2013-06-10 / /
  • @Ta / 2013-06-10 / /

    function 是否符合条件($A,$B,$C,$D,$E,$F){

    $n=0;
    if($A)
    $n++;
    if($B)
    $n++;
    if($n<1)
    return false;

    $n=0;
    if($A)
    $n++;
    if($C)
    $n++;
    if($D)
    $n++;
    if($n<2)
    return false;

    $n=0;
    if($A)
    $n++;
    if($E)
    $n++;
    if($n>1)
    return false;

    if($B!=$F or $C!=$E)
    return false;

    if(!$E and $F)
    return false;


    $n=0;
    if($C)
    $n++;
    if($D)
    $n++;
    if($E)
    $n++;
    if($F)
    $n++;
    if($n>3)
    return false;

    return true;
    }
  • @Ta / 2013-06-10 / /
    @终极神天 获奖为true没获奖为false,使用循环逐个带入函数判断
  • @Ta / 2013-06-10 / /
    貌似可以减少参数
添加新回复
回复需要登录