Advertisement
Guest User

Untitled

a guest
May 22nd, 2014
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. import java.math.BigInteger;
  2. import java.util.Scanner;
  3.  
  4.  
  5. public class Bit_Flipper {
  6.  
  7. public static void main(String[] args) {
  8.  
  9. Scanner input = new Scanner(System.in);
  10. long n=input.nextLong();
  11. String nBinary=Long.toBinaryString(n);
  12. String zerosTo64="";
  13. for (int i=1;i<=64-nBinary.length();i++)
  14. {
  15. zerosTo64="0"+zerosTo64;
  16. }
  17. nBinary=zerosTo64+nBinary;
  18. // TODO Auto-generated method stub
  19. char [] nBinaryAsString=nBinary.toCharArray();
  20. for (int i=0;i<nBinaryAsString.length-2;i++)
  21. {
  22. if (nBinaryAsString[i]==nBinaryAsString[i+1]&&nBinaryAsString[i+1]==nBinaryAsString[i+2])
  23. {
  24. if (nBinaryAsString[i]=='0')
  25. {
  26. nBinaryAsString[i]='1';
  27. nBinaryAsString[i+1]='1';
  28. nBinaryAsString[i+2]='1';
  29.  
  30. }
  31. else
  32. {
  33. nBinaryAsString[i]='0';
  34. nBinaryAsString[i+1]='0';
  35. nBinaryAsString[i+2]='0';
  36. }
  37. i=i+2;
  38. }
  39.  
  40. }
  41. String finalString = new String(nBinaryAsString);
  42. BigInteger decimalValue = new BigInteger(finalString, 2);
  43. System.out.print(decimalValue);
  44. }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement