美文网首页
整数分解成若干正整数的和,每个加数不能被K整除

整数分解成若干正整数的和,每个加数不能被K整除

作者: const_qiu | 来源:发表于2020-09-06 16:31 被阅读0次
    #include <iostream>
    #include <vector>
    #include<string>
    #include<stdio.h>
    #include<stdlib.h>
    using namespace std;
    #include<unordered_map>
    
    
    int res = 0;
    vector<vector<int>> final_res;
    void DFS(vector<int> &path,int sum,int n,int k,int start) {
        if (sum == n) {
            res++;
            final_res.push_back(path);
            return;
        }
        if (sum > n) return;
        //drill down
        for (int i = start; i <= n; i++) {
            if (i%k == 0) continue;
            path.push_back(i);
            DFS(path,sum+i,n,k,i);
            path.pop_back();
        }
        return;
    }
    int main() {
        vector<int> path;
        DFS(path,0,9,3,1);
        cout << res << endl;
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:整数分解成若干正整数的和,每个加数不能被K整除

          本文链接:https://www.haomeiwen.com/subject/nnmcektx.html