Numbers with sum
import java.io.*;
import java.util.*;
class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
int[] k = {
3,5,7,9,8,1
};
int[] sum = {
6,42,123,234,13, 9
};
for(int i=0;i<k.length;i++) {
System.out.println("Input: " + k[i] + ", Sum:" + sum[i] + ", Result: " );
solution.numbersWithSum(k[i], sum[i]);
}
}
public void numbersWithSum(int k, int sum) {
if( sum < 1 || k < 1 || k > 9 ) {
return;
}
numbersWithSum(k, sum, "");
}
private void numbersWithSum(int k, int sum, String result) {
if(result.length() >= k && sum == 0) {
System.out.println(result);
return;
}
if(result.length() >= k) {
return;
}
for(int i=1; i<10; i++) {
if(sum-i >= 0) {
numbersWithSum(k, sum-i, i+result);
}
}
}
}