Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import static java.lang.Math.pow;
- public class Main {
- public static void main(String args[]){
- Scanner in = new Scanner(System.in);
- int Snumb;
- int MaxNumb = 0;
- String byteNumb;
- Snumb = in.nextInt();
- byteNumb = Integer.toBinaryString(Snumb);
- byte size = (byte)byteNumb.length();
- byte[] numb = new byte[size];
- for (byte i = 1; i <= byteNumb.length(); i++){
- numb[size - i] = (byte)(byteNumb.charAt(size - i) - 48);
- }
- for (byte i = 0; i < size; i++){
- MaxNumb = max(MaxNumb, binConvert(shift(numb)));
- }
- System.out.println(MaxNumb);
- }
- public static int binConvert(byte[] binNumb){
- int numb = 0;
- byte size =(byte)(binNumb.length - 1);
- for (byte i =size; i>=0; i--){
- numb += binNumb[i] * pow(2,size - i);
- }
- return numb;
- }
- public static byte[] shift(byte[] numb){
- byte size = (byte)(numb.length);
- byte temp = numb[0];
- for(byte i = 0; i < size - 1; i++){
- numb[i] = numb[i + 1];
- }
- numb[size - 1] = temp;
- return numb;
- }
- public static int max(int a, int b){
- if (a > b)
- return a;
- return b;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement