void printArray(int b[], int size) { for(int i=0;i<size;i++) cout << b[i] << "+"; cout << endl; } void printCombinations(int sum, int n, int a[], int level) { if(n==1) { a[level] = sum; printArray(a, level+1); return; } for(int i=0; i<=sum; i++) { a[level] = i; printCombinations(sum-i, n-1, a, level+1); } } int main() { int sum; int n; int a[50]; cin >> sum; cin >> n; printCombinations(sum, n, a, 0); return 0; } input: sum=4, count=3 output: 0+0+4+ 0+1+3+ 0+2+2+ 0+3+1+ 0+4+0+ 1+0+3+ 1+1+2+ 1+2+1+ 1+3+0+ 2+0+2+ 2+1+1+ 2+2+0+ 3+0+1+ 3+1+0+ 4+0+0+
This blog site is dedicated for articles on problem solving using C, C++, data structures, algorithms. Besides this few technical articles are also presented.
Jun 7, 2017
print all combinations of numbers for a given sum and given count of numbers
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment