From 2f24f52bcbd65da01e1b13215487fb5ba7a6e8a9 Mon Sep 17 00:00:00 2001 From: Navnath Kadam Date: Sun, 5 Oct 2025 18:29:45 +0530 Subject: [PATCH] feat: added subsequence sum problem in cpp/basics folder --- CPP/Basics/recursion_subsequence.cpp | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 CPP/Basics/recursion_subsequence.cpp diff --git a/CPP/Basics/recursion_subsequence.cpp b/CPP/Basics/recursion_subsequence.cpp new file mode 100644 index 0000000..b383964 --- /dev/null +++ b/CPP/Basics/recursion_subsequence.cpp @@ -0,0 +1,39 @@ +#include +#include + +using namespace std; + +void subseq(vector &ans, vector &arr, int index, int size, int k , int sum){ + + if (index >= size){ + if(sum == k){ + for(auto i : ans){ + cout << i << " "; + } + cout << endl; + } + return; + } + + // take it + ans.push_back(arr[index]); + sum+=arr[index]; + + subseq(ans,arr,index+1,size,k,sum); + + // after take it remove it (backtrack) + ans.erase(ans.begin()+index); + sum-=arr[index]; + subseq(ans,arr,index+1,size,k,sum); +} + +int main() { + + vector arr = {3,1,2}; + vector ans = {}; + int k = 3; + + subseq(ans,arr,0,arr.size(),k,0); + + return 0; +} \ No newline at end of file