美文网首页
整数分解成若干正整数的和,每个加数不能被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