public static void main(String[] args) { int n, k; int[] arr; Scanner scan = new Scanner(System.in); do{ System.out.print("input n : "); n = scan.nextInt(); }while(n <= 0); //insure n is positive integer
do{ System.out.print("input k : "); k = scan.nextInt(); }while(k <= 0); //insure k is positive integer
arr = new int[k+1]; arr[0] = k;
func(n, k, arr); }
public static void func(int n, int k, int[] arr){ int i, j; for(i=n; i>=0; i--){ arr[k] = i; if(k > 1){ func(n-i, k-1, arr); } else{ if(n-i == 0){ for(j=arr[0]; j>=1; j--){ System.out.print(arr[j] + "\t"); } System.out.println(); } } } } }