一枚渣子


私信TA

用户名:uq_44501180482

访问量:17113

签 名:

笨蛋

等  级
排  名 26
经  验 16380
参赛次数 1
文章发表 238
年  龄 0
在职情况 在职
学  校 河南科技大学
专  业

  自我简介:

渣子

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int value=sc.nextInt();
		int n=sc.nextInt();
		System.out.println(move(value,n));
	}
	
	static long move(int value,int n){
		int []b=new int[32],c=new int[32];
		int i;
		long sum=0;
	    for(i=0;value!=0;i++){
	        b[i]=value%2;
	        value/=2;
	    }
	    for(i=0;i<32;i++){
	        c[i]+=b[32-i-1];
	    }
	    if(n>0){
	        for(i=0;i<32-n;i++){
	            b[i+n]=c[i];
	        }
	        for(i=32-n;i<32;i++){
	            b[i-32+n]=c[i];
	        }
	        for(i=0;i<32;i++){
	            sum+=Math.pow(2,32-i-1)*b[i];
	        }
	    }
	    else if(n<0){
	        for(i=0;i<-n;i++){
	            b[32+n+i]=c[i];
	        }
	        for(i=-n;i<32;i++){
	            b[i+n]=c[i];
	        }
	        for(i=0;i<32;i++){
	            sum+=Math.pow(2,32-i-1)*b[i];
	        }
	    }
	    return sum;
	}
}


 

0.0分

1 人评分

  评论区

  • «
  • »