/* ESc101 Laboratory Assignment Thursday of Week of 20/09/04 3) This program calculates the number of ways in which n objects can be placed in 5 indistinguishable buckets. */ import javabook.*; import java.awt.*; class RecSum { int sum = 0; // This method calculates // S(n,m) = S(n-1, m-1) + S(n-m, m) public int recSumCalc(int n, int m) { int index; if( n < m) return 0; if( n == m || m == 1) return 1; return (recSumCalc(n-1, m-1)+recSumCalc(n-m, m)); } } class DistWays { MainWindow mainWindow; InputBox inputBox; int N; // This method takes input n and calls other // method for recursive sum calculation. public void waysCalc() { inputBox = new InputBox(mainWindow); RecSum recSum; recSum = new RecSum(); int M, ways=0; N = inputBox.getInteger("Input number of objects"); for(M = 1; M <= 5; M++) ways = ways + recSum.recSumCalc(N, M); System.out.println(" Number of ways are "+ ways); } } class soln7thur3A { public static void main(String[] args) { DistWays distWays; distWays = new DistWays(); distWays.waysCalc(); } }