首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

创新工场笔试题2013年校园招聘,该如何处理

2013-01-25 
创新工场笔试题2013年校园招聘http://blog.csdn.net/huangxy10/article/details/8026464时间:2012年9月27

创新工场笔试题2013年校园招聘
http://blog.csdn.net/huangxy10/article/details/8026464
时间:2012年9月27日 地点:鼎好大厦10层
考试时长:1小时

一,      选择题
1,求zd结果
[cpp] view plaincopyprint?
#define N 3  
#define Y(n) ((N+1)*n)  
z = 2*(N+Y(5+1));  


2,有关多线程,多进程的描述错误的是
A,       子进程获得父进程的数据空间,堆和栈的复制品
B,       线程可以与同进程的其他线程共享数据,但是它拥有自己的栈空间且拥有独立的执行序列
C,       线程执行开销小,但是不利于资源管理和保护
D,       进程适合在SMP机器上进行,而线程则可以跨机器迁移
3,
[cpp] view plaincopyprint?
struct s  
{  int x:3;  
   int y:4;  
   int y:5;  
 double a;  
}  
求sizeof(s)
4,序列{2,1,4,9,8,10,6,20}是某排序算法第二轮排序的结果,则该算法只能是
A快速排序    B冒泡排序
C选择排序    D插入排序
5,我们需要监听一个事件状态,让它在状态发生改变时主动发出通知,请问需要哪种设计模式?
A装饰者模式 B建造者模式
C创新工场模式 D观察者模式
6,有2012瓶矿泉水,其中有一瓶有毒,请问需要多少只老鼠才能一次性找到有毒的矿泉水?
二,      问答题
1,       有0-n这n+1个数,但是其中丢了一个数,请问如何找出丢了哪个数?
2,       解释  
[cpp] view plaincopyprint?
#typedef char (*func)(int,char*)  

3,       求输出结果
[cpp] view plaincopyprint?
int a[2][2][3]= { {{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};  
int *ptr=(int *)(&a+1);  
printf(“%d %d”, *(int*)(a+1), *(ptr-1));  

4,求输出结果
[cpp] view plaincopyprint?
#include <iostream>  
using namespace std;  
class A  
{  
public:  
    virtual void print()  
    { cout << "A::print()" <<endl;}  
};  
class B: public A  
{  
public:  
    virtual void print()  
    { cout << "B::print()" <<endl;}  
};  
class C: public A  
{  
public:  
    virtual void print()  
    { cout << "C::print()" <<endl;}  
};  
void print(A a)  
{  
    a.print();  
}  
void main()  
{  
    A a,*aa,*ab,*ac;  
    B b;  
    C c;  
    aa=&a;  
    ab=&b;  
    ac=&c;  
    a.print();  
    b.print();  
    c.print();  
    aa->print();  
    ab->print();  
    ac->print();  
    print(a);  
    print(b);  
    print(c);  
}  
[cpp] view plaincopyprint?
  
三,算法编程题
1,有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱,求有多少种组合可以组合成n分钱?



2,马戏团里有个叠罗汉的表演,为了便于美观,下面的人身高和体重都要大于上面的人。现在知道n个演员的身高和体重,请问最多能叠多少层?

[解决办法]
嗯嗯,还应该加“=”
int t(int n){
        int a=1;
        int b=2;
        int c=5;
        int d=10;

        int m = 0;
        
        for (int i = 0; i * d <= n; i++) {
            for (int j = 0; j * c + i * d <= n; j++) {
                for (int k = 0; k * b + j * c + i * d <= n; k++) {
                    if((n-(k * b + j * c + i * d))%a==0){
                        m++;
                    }
                }
            }
        }
        
        return m;
    }

热点排行