京东2017校招编程题汇总

时长:120分钟 总分:100分

232浏览 0人已完成答题

题型介绍
题型 填空题
数量 4
1.
保卫方案
问题详情

战争游戏的至关重要环节就要到来了,这次的结果将决定王国的生死存亡,小 B 负责首都的防卫工作。首都位于一个四面环山的盆地中,周围的 n 个小山构成一个环,作为预警措施,小 B 计划在每个小山上设置一个观察哨,日夜不停的瞭望周围发生的情况。 一旦发生外地入侵事件,山顶上的岗哨将点燃烽烟,若两个岗哨所在的山峰之间没有更高的山峰遮挡且两者之间有相连通路,则岗哨可以观察到另一个山峰上的烽烟是否点燃。由于小山处于环上,任意两个小山之间存在两个不同的连接通路。满足上述不遮挡的条件下,一座山峰上岗哨点燃的烽烟至少可以通过一条通路被另一端观察到。对于任意相邻的岗哨,一端的岗哨一定可以发现一端点燃的烽烟。 小 B 设计的这种保卫方案的一个重要特性是能够观测到对方烽烟的岗哨对的数量,她希望你能够帮她解决这个问题。

数据范围: , 每座山的高度满足
输入描述: 输入中有多组测试数据,每一组测试数据的第一行为一个整数 n ,为首都周围的小山数量,第二行为n个整数,依次表示为小山的高度 h输入样例: 5 1 2 4 5 3 输出描述: 对每组测试数据,在单独的一行中输出能相互观察到的岗哨的对数。输出样例 7
2.
进制均值
问题详情

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

数据范围:
输入描述: 输入中有多组测试数据,每组测试数据为一个整数A输入样例: 5 3 输出描述: 对每组测试数据,在单独的行中以X/Y的形式输出结果。输出样例 7/3 2/1
3.
幸运数
问题详情

小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用。现在对于一个数字x,小明同学定义出了两个函数 f(x) 和 g(x) 。 f(x) 表示把x这个数用十进制写出后各个数位上的数字之和。如f(123)=1+2+3=6 。 g(x) 表示把x这个数用二进制写出后各个数位上的数字之和。如 123 的二进制表示为 1111011 ,那么,g(123)=1+1+1+1+0+1+1=6 。 小明同学发现对于一些正整数 x 满足 f(x)=g(x) ,他把这种数称为幸运数,现在他想知道,大于0且小于等于n的幸运数有多少个?

数据范围:
输入描述: 每组数据输入一个数输入样例: 21 输出描述: 每组数据输出一行,小于等于n的幸运数个数。输出样例 3
4.
集合
问题详情

给你两个集合,要求{A} + {B}。 注:同一个集合中不会有两个相同的元素。

输出时按数字升序输出。

数据范围: ,集合中的元素满足
输入描述: 每组输入数据分为三行,第一行有两个数字n,m,分别表示集合A和集合B的元素个数。后两行分别表示集合A和集合B。每个元素为不超过int范围的整数,每个元素之间有个空格隔开。输入样例: 3 3 1 3 5 2 4 6 输出描述: 针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开,行末无空格。输出样例 1 2 3 4 5 6