Just write. Topic: Enter two integers n and m, take several numbers from numerous columns 1, 2, 3 ......., make it and equal to M, require all possible combinations. Programming Solution . # include
#define max_stack 128
INT Addends [MAX_STACK] = {0}; INT sp = 0;
Void get_sum (int sum, int maxadde) {INT i = 0; int start = min (maxaddend, sum); if (sum == 0) {for (i = SP-1; I> 0; --I) Printf ("% d ", addends [i]); Printf ("% d / n", addends [0]);} else {for (i = start; i> 0; --i) {addends [sp ] = i; get_sum (sum-i, maxadde); --sp;}}}
INT Main (int Argc, char * argv []) {INT M, N; IF (argc! = 3) {Printf ("INPUT The Sum (M) and the max addend (n), with space seperated:"); Scanf ("% D% D", & M, & n);} else {m = ATOI (Argv [1]); N = ATOI (Argv [2]);} if (m <= 0 || n <= 0 || m> = max_stack) Return 1; get_sum (m, n); system ("pause"); return 0;}