网易游戏2011.10.15校园招聘会笔试题

2023-11-12

网易游戏2011.10.15校园招聘会笔试题

1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少。

页面大小是8KB,那么页内偏移量是从0x0000(0)~ 0x1FFF(2的13次方 - 1)。0x5F123/8K=2E,余数是1123;则页号是47页,页内偏移量应该是0X00001123。

2、如果X大于0并小于65536,用移位法计算X乘以255的值为:    (X<<8)-X

X<<8-X是不对的,因为移位运算符的优先级没有减号的优先级高,首先计算8-X为0,X左移0位还是8。

3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有   3n+1   个空指针。

4、以下两个语句的区别是:第一个动态申请的空间里面的值是随机值,第二个进行了初始化,里面的值为0

[cpp]  view plain copy
  1. int *p1 = new int[10];  
  2. int *p2 = new int[10]();  

5、计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式:0X12           小端模式:0X56           X86结构的计算机使用  小端    模式。

一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。

6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,请声明一个参数为int *,返回值为int的函数指针:

int (*fun)(int *)

7、下面程序运行后的结果为:to test something

[cpp]  view plain copy
  1. char str[] = "glad to test something";  
  2.     char *p = str;  
  3.     p++;  
  4.     int *p1 = static_cast<int *>(p);  
  5.     p1++;  
  6.     p = static_cast<char *>(p1);  
  7.     printf("result is %s\n",p);  

8、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:

(1)恰好第K次(1=<K<=N)打开宝箱的概率是多少。  (1-1/n)*(1-1/(n-1))*(1-1/(n-2))***(1/(n-k+1)) = 1/n

(2)平均需要尝试多少次。

 这个就是求期望值   由于每次打开宝箱的概率都是1/n,则期望值为:   1*(1/n)+2*(1/n)+3*(1/n)+......+n*(1/n) = (n+1)/2

9、头文件中ifndef / define / endif 是做什么用的?
10、代码里有时可以看到extern “C”,这语句是做什么用的?
11、平均要取多少个(0,1)中的随机数才能让和超过1。 

12、在下列乘法算式中,每个字母代表0~9的一个数字,而且不同的字母代表不同的数字:

 ABCDEFGH

*                 AJ

------------------

EJAHFDGKC

BDFHAJEC

------------------

CCCCCCCCC

请写出推导的过程。

本题唯一解为:A=2、B=4、C=6、D=9、E=1、F=3、G=5、H=8、J=7、K=0

13、输入格式:第一行输入N(N<=100)表示流通的纸币面额数量;第二行N个纸币的具体表示的面额,从小到大排列,取值【1,10^6】。
输出格式:输出一个整数,表示应该发行的纸币面额,这个整数是已经发行的所有纸币面额都无法表示的最小整数。(已经发行的每个纸币面额最多只能使用一次)

输入

输出

5

1 2 3 9 100

7

5

1 2 4 9 100

8

5

1 2 4 7 100

15

思路:这是一个典型的母函数问题,一般的典型母函数如 G(x)=  (1+x+x^2+x^3+x^4+x^5+....)*(1+x^2+x^4+x^6+x^8+x^10+....)*(1+x^3+x^6+x^9+x^12....).....

这个题目中的每个纸币只能够使用0次或1次,在上面的那个一般的母函数的基础上修改一下就行了,就很简单了。。

具体代码如下:

[cpp]  view plain copy
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. const int lmax=10000;  
  5. int c1[lmax+1],c2[lmax+1];  
  6.   
  7. int main(void)  
  8. {  
  9.     int m,n,i,j,k,a[110];  
  10.     //计算的方法还是模拟手动运算,一个括号一个括号的计算,从前往后  
  11.     while (cin>>m && m)  
  12.     {  
  13.         n=0;  
  14.         for(i = 0; i < m; i++)  
  15.         {  
  16.             scanf("%d",&a[i]);  
  17.             n += a[i];  
  18.         }  
  19.         n += 5;     //有可能无法表示的那个数比所有纸币面额的总和还要大  
  20.         for(i = 0; i <= n; i++)  
  21.         {  
  22.             c1[i] = 0;  
  23.             c2[i] = 0;  
  24.         }  
  25.         for(i = 0; i < 2*a[0]; i += a[0])        //母函数的表达式中第一个括号内的各项系数  
  26.             c1[i] = 1;  
  27.         //第一层循环是一共有 n 个小括号,而刚才已经算过一个了,所以是从2 到 n   
  28.         // i 就是代表的母函数中第几个大括号中的表达式  
  29.         for(i = 2; i <= m; i++)  
  30.         {  
  31.             for(j = 0; j <= n; j++)              //j 就是指的已经计算出的各项的系数  
  32.             {  
  33.                 for (k = 0; k < 2*a[i-1]; k += a[i-1])      //k 就是指将要计算的那个括号中的项  
  34.                 {   
  35.                     c2[j+k] += c1[j];        //合并同类项,他们的系数要加在一起,所以是加法  
  36.                 }  
  37.             }  
  38.             for(j = 0; j <= n; j++)    // 刷新一下数据,继续下一次计算,就是下一个括号里面的每一项  
  39.             {  
  40.                 c1[j] = c2[j];  
  41.                 c2[j] = 0;  
  42.             }  
  43.         }  
  44.         for(i = 1; i <= n; i++)  
  45.         {  
  46.             if(c1[i] == 0)  
  47.             {  
  48.                 cout<<i<<endl;      //找出第一个无法表示的纸币面额  
  49.                 break;  
  50.             }  
  51.         }  
  52.     }  
  53.     return 0;  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网易游戏2011.10.15校园招聘会笔试题 的相关文章

  • 如何选择合适的 API 网关

    如今 API 网关是设计具有多个 API 服务或微服务的分布式系统架构的重要组成部分 这篇文章帮助您了解什么是 API 网关 何时以及为何使用它 并指导您如何为您的应用程序选择最佳的 API 网关解决方案 什么是 API 网关 API 网关
  • 06-Java框架-SpringBoot

    一 SpringBoot介绍 之前为了搭建一个SSM的项目 需要导入各种jar包和添加各种xml的配置 相对来时是较为复杂的 SpringBoot倡导的是几乎0配置搭建Spring应用 官网 https spring io projects
  • 卷麻了,新来的00后实在是太卷了...

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 数据结构知识点总结

    一 顺序表和链表 1 顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构 一般情况下采用数组存储 在数组 上完成数据的增删查改 静态顺序表 使用定长数组存储 动态顺序表 使用动态开辟的数组存储 常用 2 链表 链表是一种

随机推荐

  • node settings must not contain any index level settings

    本人安装的ES是7 6 1版本 报错意思为 节点设置不能包含任何索引级别设置 也就是说报错是因为 在elasticsearce yml文件中对索引进行了配置 应该是新版本不支持这样配置 删除相应的索引配置即可 index refresh i
  • 浏览器H5获取地理位置api——navigator.geolocation

    地理位置 API Geolocation API 允许用户向 web 应用程序提供他们的位置 出于隐私考虑 报告地理位置前会先请求用户许可 PS 出于安全考虑 当网页请求获取用户位置信息时 用户会被提示进行授权 注意不同浏览器在请求权限时有
  • Docker报错(Error): Layer already exists如何处理

    作者 变优秀的小白 Github 关注YX XiaoBai 爱好 Americano More Ice QQ学习交流群 new 811792998 Error Layer already exists 当你修改了源码 准备docker pu
  • 从程序员的角度设计一个Java的神经网络

    欢迎大家前往云 社区 获取更多海量技术实践干货哦 来自维基百科 人工神经网络 ANN 或连接系统是受生物神经网络启发构成生物大脑的计算系统 这样的系统通过考虑例子来学习 逐步提高性能 来完成任务 通常没有任务特定的编程 用Java或任何其他
  • 什么是GameFi?如何理解这一概念?

    GameFi的爆火是区块链在项目创新和概念创新方面具有先天优势的体现 时至今日 GameFi已经成为继DeFi之后的又一大行业热词 那么该怎么理解GameFi概念 GameFi又具有什么优势呢 01 GameFi是什么 如果说DeFi是把现
  • JVM笔记 -- JVM的发展以及基于栈的指令集架构

    2011年 JDK7发布 1 7u4中 开始启用新的垃圾回收器G1 但是不是默认 2017年 发布JDK9 G1成为默认GC 代替CMS 一般公司使用jdk8的时候 会通过参数 指定GC为G1 2018年 发布JDK11 带来了革命性ZGC
  • OpenCV使用 GrabCut 算法进行交互式前景提取

    OpenCV使用 GrabCut 算法进行交互式前景提取 1 效果图 2 源码 参考 这篇博客将介绍如何使用Python OpenCV中的GrabCut 算法来提取图像中的前景 并为此创建一个交互式应用程序 1 效果图 官方示例 lena
  • 在vue3+setup+ts中使用内置动态组件component

    1 vue的内置组件的定义 component是vue的内置组件 不需要注册可以直接使用 通过is去选择要渲染的组件 可以是一个组件名称字符串 使用在选项式API中 也可以是组件的定义 使用在
  • 流程(待补充)

    start from init mlt rwlock 1 初始化mlt表的读写锁 函数体调pthread rwlock init mlt mlt lock NULL 该函数为C库提供 初始化该锁之后 后面可以加互斥锁修改mlt表的值 2 初
  • 离散数学——主析取范式与主合取范式原理探究

    主析取范式 对任意一个命题公式来说 主析取范式与主合取范式都是唯一的 命题变元指原子化的 P Q命题 极小项的定义 包含全部N个命题变元的合取式 称其为极小项 且N个命题变元中 每个变元与它的否定不能同时存在 但两者中必有一个出现且仅出现一
  • MakeFile编写

    1 生成静态库和动态库 文件 makefile test cpp test h lib PWD libs libtest a so PWD libs libtest so all lib so lib test o ar rcs lib t
  • JSP的基本使用

    开发工具与关键技术 IDEA 撰写时间 2022 8 18 前提 创建一个java Maven项目 并把 Tomcat 装上 在java Maven项目的 pox xml文件配置 JSP
  • docker和原生方式安装jenkins,以及常见问题踩坑

    前言 Jenkins 是一款开源自动化服务器 可用于轻松设置持续集成和持续交付 CI CD 管道 持续集成 CI 是DevOps的一种实践 团队成员定期将其代码更改提交到版本控制存储库 然后运行自动构建和测试 持续交付 CD 是一系列的实践
  • Docker网络模式

    目录 一 Docker网络的实现原理 二 Docker的五种网络模式 1 Host模式 2 Container模式 3 None模式 4 Bridge模式 默认 5 自定义网络模式 5 1 查看网络模式列表 5 2 查看容器信息 5 3 指
  • 解决 MySQL 中不能输入中文的问题,复制粘贴也不允许。

    解决 MySQL 中不能输入中文的问题 复制粘贴也不允许 首先 MySQL 中不能输入中文的问题与 MySQL 版本无关 与主机也无关 Debian centos 都无所谓 而我的 locale 下的语言设置都没问题 我这里的 MySQL
  • python项目结构设计_python工程结构

    在一个健康的开发周期中 代码风格 API设计和自动化是非常关键的 同样的 对于工程的架构 仓库的结构也是关键的一部分 当一个潜在的用户和贡献者登录到您的仓库页面时 他们会看到这些 工程的名字 工程的描述 一系列的文件 如果您的仓库的目录是一
  • const在指针赋值时候注意事项:assignment discards ‘const’ qualifier from pointer target type的解决方法

    const 与 define 都可以创建类似功能的符号常量 但是const可以创建const 数组 指针 指向const的指针 很重要的一点const能使不需要修改的数据变成只读的模式 include
  • java8 方法引用详解_Java8中如何通过方法引用获取属性名详解

    前言 在我们开发过程中常常有一个需求 就是要知道实体类中Getter方法对应的属性名称 Field Name 例如实体类属性到数据库字段的映射 我们常常是硬编码指定 属性名 这种硬编码有两个缺点 1 编码效率低 因为要硬编码写属性名 很可能
  • Linux系统shell脚本基础之while循环

    Linux系统shell脚本基础之while循环 一 脚本要求 二 脚本内容 1 脚本1 2 脚本2 三 执行脚本1结果 四 执行脚本2 一 脚本要求 脚本1 计算从1加到100的值 使用while循环 脚本2 输入一个数 输出1加到这个数
  • 网易游戏2011.10.15校园招聘会笔试题

    网易游戏2011 10 15校园招聘会笔试题 转载于 http blog csdn net hackbuteer1 article details 6878570 1 对于一个内存地址是32位 内存页是8KB的系统 0X0005F123这个