PHP--有4个数字:1、2、3、4,能组成多少个互不相同且不重复数字的三位数?各是多少
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php $str = '1234' ; $ar = str_split ( $str ); perm( $ar , 0, count ( $ar )-1); function perm(& $ar , $now , $length ) { if ( $now == $length ){ $str = substr (join( "" , $ar ),0,3); echo $str , PHP_EOL; } else { for ( $i = $now ; $i <= $length ; $i ++) { swap( $ar [ $now ], $ar [ $i ]); perm( $ar , $now +1, $length ); swap( $ar [ $now ], $ar [ $i ]); } } } function swap(& $a , & $b ) { $c = $a ; $a = $b ; $b = $c ; } |