Advertisement
Guest User

Untitled

a guest
Sep 26th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.75 KB | None | 0 0
  1. import java.util.BitSet;
  2.  
  3. public class Mod3AlgoTest
  4. {
  5.   public static void main(String[] args)
  6.   {
  7.     int maxNum = 65535;
  8.    
  9.    
  10.     int nbits = 32 - Integer.numberOfLeadingZeros(maxNum);
  11.     System.out.println("Number of bits: " + nbits);
  12.     boolean allCorrect = true;
  13.     for (int i = 0; i <= maxNum; i++) {
  14.       int j = collapse(i, nbits);
  15.       boolean correct = (i % 3) == (j % 3);
  16.       allCorrect &= correct;
  17.     }
  18.     System.out.println("All correct? " + allCorrect);
  19.   }
  20.    
  21.   public static int collapse(int nbr, int nbits) {
  22.     BitSet bset = BitSet.valueOf(new long[] {nbr});
  23.     int accu = 0;
  24.     for (int i = 0; i < nbits; i++) {
  25.       if (bset.get(i)) {
  26.         accu += 1 + (i & 1);
  27.       }
  28.     }
  29.     return accu;
  30.   }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement