京东2017校招:4,7幸运数
来源:互联网 发布:mysql my.ini在哪里 编辑:程序博客网 时间:2024/06/07 12:00
京东2017年校招编程题第一题,实现语言:java
算法思想,将4,7看成0,1,转换成2进制,令最高为标志位1,则从2开始,举例说明:
2(10) -> 4
3(11) ->7
4(100)->44
5(101)->47
6(111)->77
…
//第K个幸运数//时间限制:C/C++语言 1000MS;其他语言 3000MS//内存限制:C/C++语言 65536KB;其他语言 589824KB//题目描述://4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字。//前几个幸运数字为:4,7,44,47,74,77,444,447... //现在输入一个数字K,输出第K个幸运数。//输入//第一行一个数字T(T<=1000)表示测试数据的组数。对于每组测试数据,输出一个数K//输出//每组数据输出一行,第K个幸运数。////样例输入//3//5//100//1000000000////样例输出//74//744747//77477744774747744747444444447import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int rows=Integer.parseInt(scanner.nextLine()); for(int p=rows;p>0;p--){ Long input=Long.parseLong(scanner.nextLine()); long num=2L; num+=input-1L; String val=solution(num); System.out.println(val); } } public static String solution(long n){ String val=Long.toBinaryString(n); StringBuffer result=new StringBuffer(); //0->4;1->7;舍弃最高位 for(int bit=1;bit<val.length();bit++){ if(val.charAt(bit)=='0') result.append("4"); else result.append("7"); } return result.toString(); }}
0 0
- 京东2017校招:4,7幸运数
- 【真题】京东2017校招编程题 幸运数
- 京东2017幸运数
- 4,7幸运数问题
- 京东—幸运数
- 2017 京东 笔试 编程题 解题 幸运数
- 幸运数-京东2017在线笔试编程题
- 京东2017校园招聘笔试题 幸运数
- 京东2017校园招聘编程题--幸运数
- 幸运数
- 幸运数
- 幸运数
- 幸运数
- 幸运数
- 幸运数
- 幸运数
- 幸运数
- 幸运数
- Android开发框架/库学习,设计模式之工厂模式
- shell 学习 — 1
- BTree C 语言实例
- VS2015下解决:error LNK2019: 无法解析的外部符号 __iob_func解决方案
- 连接查询-mysql第五天
- 京东2017校招:4,7幸运数
- GitHub详解(GitHub for Windows)
- HOP: A proxy server to enable arbitrary protocols behind an HTTP proxy http://acehack.org/hop
- 数组中只出现一次得两个数
- Android事件分发之子View驳回ViewGroup拦截原理分析
- UVA465 - Overflow
- 2016京东笔试编程题
- 记一次FPGA特别低级的错误
- Android BroadCast广播