Thursday, 22 November 2012

Maximum Combinations


public class AllCombinations
{   private static void allIndexes(int a[], int index)
    {   a[index]++;
        for(int i=index+1; i<a.length; i++) a[i]=0;
        if(a[index]==a.length) 
        {   a[index]--;
            if(index>0) allIndexes(a, index-1);
        }
    }

    private static boolean unique(int a[])
    {   for(int i=0; i<a.length-1; i++)
        {   for(int j=i+1; j<a.length; j++)
            {   if(a[i]==a[j]) return false;
            }
        }
        return true;
    }
                        
    public static void main(String args[])
    {   String s="BAT";
        int a[]=new int[s.length()];        
        for(int n=0; n<(int)Math.pow(a.length, a.length); n++)
        {   if(unique(a))
            {   for(int i=0; i<a.length; i++) System.out.print(s.charAt(a[i]));
                System.out.println();        
            }
            allIndexes(a, a.length-1);
        }                
    }//main
    
    
}//class

No comments:

Post a Comment