哪位高手帮小弟我写个函数方法
Jun 13, 2016 pm 01:34 PM
arr
array
count
gt
谁帮我写个函数方法
最近在研究彩票的问题,有一个关于复式数的分解问题始终在困扰我。
例子
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> /** 比如4个号码分解成3个号码和2个号码 4码:[1,2,3,4] 一组号码 分解成3码后:[1,2,3] [1,2,4] [1,3,4] [2,3,4] 四组三位数的号码 分解成2码后:[1,2] [1,3] [1,4] [2,3] [2,4] [3,4] 六组二位数的号码 不考虑位置 又如5个号码分解成4个号码 4码:[1,2,3,4,5] 一组号码 分解成4码后:[1,2,3,4] [1,2,3,5] [1,2,4,5] [1,3,4,5] [2,3,4,5]四组四位数的号码 分解成3码后:[1,2,3] [1,2,4] [1,2,5] [1,3,4] [1,3,5] [1,4,5] [2,3,4] [2,3,5] [2,4,5] [3,4,5] 十组三位数的号码 分解成2码后:[1,2] [1,3] [1,4] [1,5] [2,3] [2,4] [2,5] [3,4] [3,5] [4,5] 十组二位数的 ------------------------------------------------- 大家应该看出规律了吧 谁能帮我写个方法 array lottery(array $num, int $i){ } @param $num 是指一组数字 @param $i 是指分解的码数 返回结果数组 如 $arr1 = lottery(array(1,2,3,4,5), 4); $arr2 = lottery(array(1,2,3,4,5), 3); 此时 $arr1 的值应该是一个数组 [1,2,3,4] [1,2,3,5] [1,2,4,5] [1,3,4,5] [2,3,4,5] 而$arr2 的值也是一个数组 分解成3码后:[1,2,3] [1,2,4] [1,2,5] [1,3,4] [1,3,5] [1,4,5] [2,3,4] [2,3,5] [2,4,5] [3,4,5] 这个问题我反复研究过,貌似挺难的。。过年了,给66分,祝答题者六六大顺 */
로그인 후 복사
------解决方案--------------------
我复制贴过来吧, 这个实现还是比较高效的算法.
- PHP code
function Combination($arr, $size = 1) { $len = count($arr); $max = pow(2,$len) - pow(2,$len-$size); $min = pow(2,$size)-1; $r_arr = array(); for ($i=$min; $i'; print_r($r); echo '
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7289
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29



iPhone에서 App Store 오류에 연결할 수 없는 문제를 해결하는 방법

PHP array_merge_recursive() 함수를 사용하는 간단하고 명확한 방법

PHP에서 array_combine 함수를 사용하여 두 배열을 연관 배열로 결합하는 방법
