4.12 咪咕笔试编程题AC

题目描述:给定一个非常大的整数,要求输出该整数反转后的二进制数
思路:1. 先把整数用阶梯除法方式转变成二进制保存进数组(该数组存入后已实现反转无需再次做反转步骤) 2. 再把反转后的二进制转变成整数

不知各位大佬拿到的是不是这道题,总感觉有更好的思路,求分享
代码如下:
package Testing;
import java.util.*;
public class Main 
{
	public static void main(String [] args)
	{
		Scanner scan = new Scanner(System.in);
		String input = scan.nextLine();
		long number = Long.parseLong(input);
		long[] binaryForm = new long[32];
		for(int i = 0; number > 1; i++)
		{
			long temp = number % 2;
			number = number / 2;
			binaryForm[i] = temp;
			if(number < 2)
			{
				binaryForm[i + 1] = number;
			}
		}
		

		long sum = 0;
		int power = 0;
		for(int i = binaryForm.length - 1; i >= 0; i--)
		{
			if(binaryForm[i] == 1)
			{
				sum += Math.pow(2, power);
			}
			power++;
				
		}
		System.out.print(sum);
		
		
	}

}



#咪咕笔试##笔试题目##咪咕#
全部评论
看到题目的时候我想了好久,我记得自己投的不是Java啊~~~😥
点赞 回复 分享
发布于 2020-04-12 14:07
那个最大的数是多少?还记得吗?
点赞 回复 分享
发布于 2020-04-12 14:54
public class test1 {  public static void main(String[] args) {  Scanner in=new Scanner(System.in);  String input=in.nextLine();  in.close();  Long number = Long.parseLong(input);  String Binstr=Long.toBinaryString(number);  int res=0;  for(int i=0;i<Binstr.length();i++)  {  if(String.valueOf(Binstr.charAt(i)).equals("1")) {  int temp=1<<i;  res+=temp;  }  }       System.out.println(String.valueOf(res));    }    }
点赞 回复 分享
发布于 2020-04-12 15:00
做锤子啊,全是java,人都傻了
点赞 回复 分享
发布于 2020-04-12 15:10
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入数字"); long a=sc.nextLong(); long res=0; List<long> list=new ArrayList(); for(int i=0;a>1;i++){ res=a%2; a=a/2; list.add(res); if(a<=1){ list.add(i+1,a); } } StringBuilder sb=new StringBuilder(""); for(int j=0;j sb.append(list.get(j)); } System.out.println(Integer.parseInt(sb.toString(), 2)); }}</long>
点赞 回复 分享
发布于 2020-04-12 15:27
你们笔试有结果了吗
点赞 回复 分享
发布于 2020-04-16 08:06
大家笔试有结果了吗,现在4.19号
点赞 回复 分享
发布于 2020-04-19 14:50
请问咪咕的笔试编程题可以选择python吗?
点赞 回复 分享
发布于 2020-09-12 12:50
我今天做的题目是配对,感觉题目挺简单的,就是前面考了java,,不会,,,
点赞 回复 分享
发布于 2020-09-12 19:59

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
3 13 评论
分享
牛客网
牛客企业服务