短い PHP コードを要求するには 40 ポイント。
要件:
2 つの数字 a と b からランダムに数字を 1 つ選択して、10 文字の文字列を形成します。
要件:
1. 連続する 2 つの文字が同じであることはできません (0 を除く)。同じ 2 つの文字がランダムに取得された場合、次の文字が現れるまで、次の文字を 0 に変換する必要があります。ループの後に abbb などの別の文字を入力すると、結果は ab00 に変換される必要があります。
2. 重複する文字は、文字列の生成時に処理する必要があります。
最終的な正しい結果の例: 0a000b00ab、または abab0000ba
ありがとうございます!
-----解決策--- ------------------
$last = ''; $r = ''; for($i=0; $i0.5 ? 'a' : 'b'; $r .= $t == $last ? '0' : $t; $last = $t; } エコー $r; <br><font color="#e78608">------解決策---------</font><br><?php<br><br> 関数chkStr($a,$b)<br>{<br> $str='';<br> $c='';<br> $d='';<br> $arr=array($a , $b);<br> while(strlen($str) {<br> $d=rand(0,1);<br> $str.=($c==$arr [ $d]) : ($arr[$d]); <br> $c=($c==$arr[$d]) : ($arr[ $ d]); <br> } <br> return $str;<br><br>echo chkStr(a,b);<br><br>