php一个规律的算法题: 
    32个队员参加乒乓球比赛,其中有4名种子选手,且两名种子选手之间不能交手。编写 程序输出所有的比赛分组方式求教?

解决方案 »

  1.   

    <?php
    $s="abcdefghijklmnopqrstuvwxyz012345"; //abcd种子选手
    $t=split("",$s);
    for($i=0;$i<32;$i++){
    if($i<4) $k=$i+4;
    else $k=$i+1;
    for($j=$k;$j<32;$j++){
    $n++;
    if($n%20==1) echo"<br>";
    echo "(".$t[$i].",".$t[$j].") ";
    }}
    echo "<br><br>共分组:".$n;
    ?>
      

  2.   

    对不起,上面的程序写漏了,应当是:
    <?php
    $s="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5";
    $t=split(',',$s);
    for($i=0;$i<32;$i++){
    if($i==0) $k=$i+4;        //a
    else if($i==1) $k=$i+3;   //b
    else if($i==2) $k=$i+2;   //c
    else $k=$i+1;             //d
    for($j=$k;$j<32;$j++){
    $n++;$m++;
    if($m%10==1) echo"<br>";
    echo "(".$t[$i].",".$t[$j].") ";
    }
    echo"<br>";
    $m=0;
    }
    echo "<br><br>共分组:".$n."<br><br>";
    ?>