关注
我的是java版本的,不过我认为还不是最优化的
public static void main(String [] args)
{
Scanner in = new Scanner(System.in);
while(in.hasNext())
{
int n = in.nextInt();
if(n == 0)
{
System.out.println(n);
continue;
}
else if(n<0)
{
System.out.println("-("+DecimaltoBinary(-n)+")");
continue;
}
else
System.out.println(DecimaltoBinary(n));
}
}
public static String DecimaltoBinary(int num)
{
StringBuilder temp = new StringBuilder();
String result = "";
while(num>0)
{
temp.append(num%2);
num /= 2;
}
char [] a = temp.reverse().toString().toCharArray();
int len = a.length;
int j = len-1;
if(a[0] == '1')
{
result += "2("+j+")";
int k = j;
if(k>2)
{
result = result.replaceFirst(k+"",DecimaltoBinary(k));
k--;
}
}
j--;
for(int i = 1;i<len;i++)
{
if(a[i] == '1')
{
result += "+2("+j+")";
int k = j;
while(k>2)
{
result = result.replace(k+"",DecimaltoBinary(k));
k--;
}
}
j--;
}
result = result.replace("2(1)", "2");
return result;
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你现在会用到哪些AI技能? #
5395次浏览 77人参与
# 蚂蚁求职进展汇总 #
122973次浏览 1163人参与
# 未岚大陆求职进展汇总 #
6973次浏览 83人参与
# 秋招踩过的“雷”,希望你别再踩 #
82789次浏览 1070人参与
# 我的求职进度条 #
86646次浏览 1152人参与
# 大厂VS公务员你怎么选 #
26153次浏览 381人参与
# 智慧芽求职进展汇总 #
1654次浏览 5人参与
# 我对___祛魅了 #
132143次浏览 736人参与
# 你还有多少年退休? #
26669次浏览 192人参与
# 实习在多还是在精 #
34510次浏览 241人参与
# 实习下班不想学习,正常吗? #
19614次浏览 173人参与
# 你的房租占工资的比例是多少? #
64642次浏览 797人参与
# 小马智行求职进展汇总 #
13488次浏览 49人参与
# 你见过哪些工贼行为 #
16262次浏览 90人参与
# 校招谈薪一定要知道的事 #
13045次浏览 113人参与
# 金蝶求职进展汇总 #
53803次浏览 263人参与
# 找工作中的小确幸 #
26440次浏览 275人参与
# 顺丰求职进展汇总 #
63274次浏览 314人参与
# 反问环节如何提问 #
115217次浏览 2460人参与
# 总结:哪家公司面试体验感最好 #
70073次浏览 416人参与
# 非技术岗投递进展 #
157854次浏览 1314人参与
# 你觉得什么岗位会被AI替代 #
16198次浏览 176人参与