就业数据资源平台
当前位置:首页 > 笔试题目
笔试编程设计题


三、编程题:30 分 共 1 题

注意:要求提供完整代码,如果可以编译运行酌情加分。


1. 求符合指定规则的数。


给定函数 d(n) = n + n 的各位之和,n 为正整数,如 d(78) = 78+7+8=93。 这样这个函数可以看成一个生成器,如 93 可以看成由 78 生成。


定义数 A:数 A 找不到一个数 B 可以由 d(B)=A,即 A 不能由其他数生成。现在要写程序,找出 1 至 10000 里的所有符合数 A 定义的数。


输出:


1


3



四、设计题:35 分 共 1 题


注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪代码或者流程说明。


1. 假设一个 mp3 搜索引擎收录了 2^24 首歌曲,并记录了可收听这些歌曲的 2^30 条 URL,但每首歌的 URL 不超过 2^10 个。系统会定期检查这些 URL,如果一个 URL 不可用则不出现在搜索结果中。现在歌曲名和 URL 分别通过整型的 SONG_ID 和 URL_ID 唯一确定。对该系统有如下需求:


1) 通过 SONG_ID 搜索一首歌的 URL_ID,给出 URL_ID 计数和列表


2) 给定一个 SONG_ID,为其添加一个新的 URL_ID


3) 添加一个新的 SONG_ID


4) 给定一个 URL_ID,将其置为不可用


限制条件:内存占用不超过 1G,单个文件大小不超过 2G,一个目录下的文件数不超过 128 个。


为获得最佳性能,请说明设计的数据结构、搜索算法,以及资源消耗。如果系统数据量扩大,该如何多机分布处理?


就业数据资源平台