Java Reference
In-Depth Information
SOLUTION:
Program 11.8 Nim game solution
public class Nim
{
public static int binaryToDecimal (
int []
binaryRepresentation )
{
int n= 0;
int p2 = 1;
for ( int i=0; i < binaryRepresentation . length ; i++)
n = n + binaryRepresentation [ i ]
p2 ;
p2 = p2
2;
return n;
}
public static void decimalToBinaryAux( int n, int i,
int []
binaryRepresentation )
{
if (n > 0) {
binaryRepresentation [ i ] = n % 2;
decimalToBinaryAux(n/2 , i +1, binaryRepresentation )
;
}
}
public static int [ ]
decimalToBinary( int n, int k)
{
int [] binaryRepresentation = new i n t [k];
decimalToBinaryAux(n , 0 , binaryRepresentation ) ;
return binaryRepresentation ;
}
public static int getBinaryLength( int [] decimalTab)
{
// search the largest value
int max = decimalTab[0];
for ( int i=1; i < d e c i m a l T a b . l e n g t h ;
i ++)
{
if (decimalTab[ i ] > max)
{
max = decimalTab [ i ] ;
}
int k=0;
int p= 1;
while (p < =max) {
++k ;
p =2;
return k;
}
public static int [ ] [ ]
decomposition( int [] decimalTab)
{
int k = getBinaryLength(decimalTab) ;
int [][] binaryTab = new i n t [decimalTab.length ][];
 
 
Search WWH ::




Custom Search