程序员笔试面试题交流

程序员面试修炼03 | 京东2017笔试题

2018-05-09  本文已影响32人  淇奥qiaoqiao

软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。 ——C.A.R.Hoare

image

名词解释

网络协议:计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。

image

笔试/面试真题

题目描述(京东-2017)

尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题,现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示为三位数1、7、3,按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11,。 小B感兴趣的是,一个数A如果按2到A-1进制表达时,各个位数之和的均值是多少?她希望你能帮她解决这个问题?所有的计算均基于十进制进行,结果也用十进制表示为不可约简的分数形式。

输入描述:

输入中有多组测试数据,每组测试数据为一个整数A(1 ≤ A ≤ 5000).

输出描述:

对每组测试数据,在单独的行中以X/Y的形式输出结果。

输入例子:

5
3

输出例子:

7/3
2/1

解题思路

1、求一个数的从2进制开始到n-1进制表示时各个位数的数字相加和。

2、求各进制位数和的均值。用分数表示。

3、分数简化为最简分数,用最大公约数对分子分母进行约分。(辗转相除法)

下面来看JAVA解题代码(如果代码页面超出可以左右上下移动):

1.  import java.util.Scanner;  
2.    
3.  public class Main {  
4.      public static void main(String[] args) {  
5.          Scanner scanner = new Scanner(System.in);  
6.          while (scanner.hasNext()) {  
7.              int n = scanner.nextInt();  
8.              int sum = 0;  
9.              for (int i = 2; i < n; i++) {  
10.                int temp = n;  
11.                while (temp > 0) {  
12.                    sum += temp % i;  
13.                    temp /= i;  
14.                }  
15.            }  
16.            int gcd = getGcd(sum, n - 2);//最大公约数  
17.            System.out.println((sum / gcd) + "/" + ((n - 2) / gcd));  
18.        }  
19.    }  
20.  
21.    /** 
22.     * 辗转相除法求最大公约数 
23.     * 
24.     * @param a 分母 
25.     * @param b 分子 
26.     * @return 最大公约数 
27.     */  
28.    public static int getGcd(int a, int b) {  
29.        while (a % b != 0) {  
30.            int c = a % b;  
31.            a = b;  
32.            b = c;  
33.        }  
34.        return b;  
35.    }  
} 
image

技术知识点

TCP与UDP的理论区别

image

免费领取

在公众号对话框内回复 【简历模版】, 即可获得小编精选的简历模版

image image
上一篇 下一篇

猜你喜欢

热点阅读