关注
我的是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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 月薪多少能在一线城市生存 #
79066次浏览 531人参与
# 你会为了工作牺牲生活吗? #
60922次浏览 424人参与
# 百度秋招 #
38261次浏览 334人参与
# 如果再来一次,你还会选择这个工作吗? #
705102次浏览 5730人参与
# 秋招吐槽大会 #
7767次浏览 87人参与
# offer帮选 #
4348831次浏览 26372人参与
# 技术转行的心路历程 #
73073次浏览 745人参与
# 你找工作想离家近 or 离家远? #
1627次浏览 32人参与
# 总结:哪家公司最喜欢泡池子 #
151467次浏览 543人参与
# 小米编程考试 #
23289次浏览 145人参与
# 你小时候最想从事什么职业 #
134686次浏览 1991人参与
# 互联网行业现在还值得去吗 #
38413次浏览 282人参与
# 虾皮开奖 #
45612次浏览 213人参与
# 滴滴歧视残疾人HR被开除 #
23905次浏览 86人参与
# 京东工作体验 #
19441次浏览 113人参与
# 26届的你们有几段实习? #
153301次浏览 1068人参与
# 25届非技术实习投递记录 #
137415次浏览 1001人参与
# 落户对你的求职选择影响有多大 #
30153次浏览 101人参与
# 机械人,秋招第一次笔试的企业是哪家? #
79850次浏览 611人参与
# 你认为工作的意义是什么 #
211076次浏览 1354人参与
# 大疆求职进展汇总 #
631485次浏览 4262人参与

