博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网易游戏2011招聘笔试题
阅读量:5964 次
发布时间:2019-06-19

本文共 2241 字,大约阅读时间需要 7 分钟。

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

0x0005f123/0x2000=0x2f.....0x1123。页号就是0x2f(47), 偏移是0x1123。(都是从0开始,注意0x2f表示前面有47页,那么基于0的下标,当前页应该是47页(上一页是46)。注意这里的地址已经是基于0,所以余数不需要再减1.

2、如果X大于0并小于65536,用移位法计算X乘以255的值为?

X*255=X*(256-1)=(X<<8)-X 这里的括号不能少,因为移位运算符的优先级较低。

3. extern “C”

在C++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情况,应该如何解决这种情况呢?

答案与分析:
C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。 

4、输入格式:第一行输入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^{arr[0]})*(1+x^{arr[1]})*\ldots*(1+x^{arr[n-1]})$.

Line 31-32,因为每个面值的纸币只有两种情况,取或者不取,所以这里不需要循环判断了。

另外关于target的取值。假设所有面纸都用一次的值为$sum = \sum_{0}^{n-1}arr[i]$. 也就是说,sum是能够表示的最大的数,对于大于sum的值,必须要用到至少两张同样的纸币,这与题设相背。所以如果[1,sum]都能覆盖到的话,第一个没覆盖到的数就是sum + 1。 target也可以直接取为sum。

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 int main() { 7 freopen("input.txt", "r", stdin); 8 9 int n;10 scanf("%d", &n);11 if (n <= 0) {12 cout << "first not cover: 1" << endl;13 return 0;14 }15 16 int* arr = new int[n];17 int target = 0;18 for (int i = 0; i < n; ++i) {19 scanf("%d", &arr[i]);20 target += arr[i];21 }22 23 vector
> params(2, vector
(target + 1, 0));24 params[0][0] = 1;25 int cur = 0, next = 1;26 27 for (int i = 0; i < n; ++i) {28 params[next].assign(target + 1, 0);29 for (int j = 0; j <= target; ++j) {30 if (params[cur][j] == 0) continue;31 params[next][j] += params[cur][j];32 if (j + arr[i] <= target) params[next][j + arr[i]] += params[cur][j];33 }34 cur = !cur;35 next = !next;36 }37 38 bool cover = true;39 for (int i = 0; i <= target; ++i) {40 if (params[cur][i] == 0) {41 cout << "first not cover: " << i << endl;42 cover = false;43 break;44 } 45 }46 if (cover) cout << "first not cover: " << target + 1 << endl;47 48 delete[] arr;49 return 0;50 }

 

转载于:https://www.cnblogs.com/linyx/p/3991708.html

你可能感兴趣的文章
Cool!15个超炫的 CSS3 文本特效【上篇】
查看>>
SVN: bdb: BDB1538 Program version 5.3 doesn't match environment version 4.7
查看>>
jsp内置对象作业3-application用户注册
查看>>
android115 自定义控件
查看>>
iOS uuchart 用法
查看>>
c# 多线程 调用带参数函数
查看>>
大型网站系统架构的演化
查看>>
JQuery 如何选择带有多个class的元素
查看>>
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar
查看>>
VS快速生成JSON数据格式对应的实体
查看>>
Word2vec 模型载入(tensorflow)
查看>>
Linux内核——定时器和时间管理
查看>>
J2EE之初识JSP
查看>>
RabbitMq消息序列化简述
查看>>
别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
查看>>
opencv2使用形态学滤波对图像进行边缘及角点检測
查看>>
Git协作流程(转)
查看>>
iOS UI-自动布局(Autoresizing)
查看>>
i.e., e.g., etc.
查看>>
计算机视觉与模式识别代码合集第二版three
查看>>