vamsu
8/19/2018 - 11:58 PM

Numbers with sum

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);
      }
    }
  }
  
}