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

相关推荐

hanliu:1. 排版与格式问题字体与对齐问题:标题和内容的字体大小差异不够明显,无法迅速吸引目光。某些文字看起来有些拥挤(比如校园经历中的“班委成员”部分)。2. 内容逻辑性模块顺序问题:实习经历放在较靠后的位置,实际上这部分内容对应聘来说更重要,建议提前突出。细节表述不够突出:比如教育背景部分的专业课程仅仅列出名字,没有说明自己在这些课程中表现如何或者掌握了什么技能,缺乏量化描述。多余内容:例如“班委成员”和“宣传委员”这类校园经历,叙述过于普通,缺乏和岗位相关的实质性贡献。,建议简写。3. 措辞专业性表达不够精准:例如“协助班长与团支书更好地为同学服务”显得较为笼统,没有实际成果的体现。用词重复:如“学习了焊接”“学习了光检”等重复词语较多,缺乏丰富的动词来展示个人能力(如“负责”“优化”“改进”等)。技能展示不足:虽然列出了UG和CAD证书,但没有明确提到这些技能如何在实际工作中发挥作用。4. 技能匹配度技能深度不足:虽然列出了掌握的软件和技术,但没有描述技能水平(如“熟练掌握”“精通”),也没有具体案例支持这些技能。缺乏岗位导向性:比如针对机械设计与制造方向,实习经历提到了“E6尾灯项目”,但没有详细说明自己在其中的技术贡献,可能会显得经验描述泛泛而谈。5. 自我评价问题表达空泛:如“具有良好的沟通协调能力”“责任心强”之类的描述太常见,没有让人眼前一亮的特点。缺乏成果支持:自我评价中的能力没有用具体项目、经历或成就来验证,可信度较弱。 兄弟加油
点赞 评论 收藏
分享
评论
3
13
分享

创作者周榜

更多
牛客网
牛客企业服务