鍍金池/ 問答/Java  PHP  C++  GO  HTML/ 請教一個函數(shù)的寫法。

請教一個函數(shù)的寫法。

根據(jù)給出的數(shù)字生成相應(yīng)的循環(huán)。如給出2,則生成2重循環(huán),3則3重循環(huán)
如給出3,則

for (let i = 0; i < arr.length; i++) {
        for (let j = 0; j < arr.length; j++) {
            for (let k = 0; k < arr.length; k++) {
                
                }
            }
        }
 }
回答
編輯回答
清夢

遞歸


f(arr, 3, [])

function f(arr,k,temp){
    if(k<=0){
        let sum = 0
        let r =[]
        for(let i = 0; i < temp.length; i++){
            sum += temp[i]
            r.push(temp[i])
        }
        if (sum  === hz) {
            result.push(r)
        }
        return
    }
    for (let i = 0; i < arr.length; i++) {
        temp.push(arr[i])
        f(arr, k-1, temp)
        temp.splice(temp.length-1, 1)
    }
}

2017年3月30日 14:27
編輯回答
挽歌

這種需求一般都儘可能通過遞歸來解決的, 讓n作爲參數(shù)然後n = 0時跳出遞歸就行了. 強行要loop解決估計要一些奇技淫巧了.

2017年10月23日 12:23