귀속 출력 조건에 맞는 조합

3898 단어
//====================================================================//함수: w.wfgui()//----------------------------------------------------------//설명: 반복 출력 조건에 맞는 조합//------------------------------------------------------------------//value longal[]//조합에 사용되는 수조, 예를 들어 {1,2,3,4,5,6}///value string/////value long 지금까지조합된 숫자열(예: 123//value long al)start//'조합을 얻는 수조'의 몇 번째부터 찾습니다. 예를 들어 2일 경우 {1,2,3,4,5,6}의 2부터 시작합니다//value longalnum//'조합을 얻기 위한 그룹'에서 숫자를 몇 개, 예를 들어 2일 경우 {1,2,3,4,5,5,6}에서 두 개의 숫자를 얻었다는 뜻/----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------==================================long ll[], i, j, klong lldealstring ls//가져올 개수가 0이면 if alnum = 0 then return//시작부터alstart는 '조합을 위한 그룹' 의 마지막 숫자 for j =al 까지 순환하기 시작합니다start to upperbound (al)//순환에서 숫자 1개를 추출하여'이미 조합된 숫자열'뒤에 ls = as + string (al [j]) if alnum = 1 then//이번에 숫자 1개만 더 뽑으면 숫자 뽑기가 완료되고 출력 결과(il count는 출력의 숫자를 통계하는 데만 사용되며 필요없음)ilcount++        if mle_1.text <> '' then mle_1.text += '~r~n'        mle_1.text + =string(il count) +'~t:'+ lselse//만약 이번에 뽑아야 할 숫자가 1개를 초과하면 1개의 숫자를 얻은 후 취수의 시작 위치 + 1, 취수 개수 -1을 취하고 다시 아래로 가져간다/j가 끝까지 순환한다. 이때 정해진 개수에 도달하지 못하면 되돌아온다.if j = upperbound (al) then exit wfdigui( al, ls, j + 1, al_num - 1)    end ifnext
 
 
호출 방법은 다음과 같습니다.

    
    
    
    
il_count = 0 // 1:{1,2,3,4,5,6} “ ” // 2: // 3: “ ” N // 4: wf_digui({ 1 , 2 , 3 , 4 , 5 , 6 }, ' ' , 1 , 3 )

좋은 웹페이지 즐겨찾기