public static String solution(int n){ StringBuffer sb = new StringBuffer(); int wei = (int)(Math.log(n+1)/Math.log(2)); // 求出第n个幸运数的位长度 int num = n - ((int)Math.pow(2,wei)-1); // 求出第n个幸运数在该层的位置值 String binNum = Integer.toBinaryString(num); for(int i = 0 ; i < wei-binNum.length() ; i++) { sb.append("0"); } sb.append(binNum); String luckyNum = sb.toString(); luckyNum = luckyNum.replace("0", "4"); luckyNum = luckyNum.replace("1", "7"); return luckyNum; }
点赞 评论

相关推荐

头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
牛客网
牛客企业服务