zoukankan      html  css  js  c++  java
  • EMC题

    [面试题]EMC易安信面试题解

    1.
    97^{59}除以59的余数是多少。
    来自wiki:费马小定理数论中的一个定理:假如a是一个整数p是一个質数,那么
    a^p equiv a pmod{p}

    如果a不是p的倍数,这个定理也可以写成

    a^{p-1} equiv 1 pmod{p}

    这个书写方式更加常用。

    答案是38,这个题目考费马小定理;

    2.int a=1000000000, b=2000000000; a=a+b;b=a-b;a=a-b; 最后a,b是多少?
    正常交换。 不过有溢出的危险。实际程序中不建议这么做。
     
    3.如何判别一个数是unsigned

     a>=0 && ~a>=0 

    4.上台阶,每次可走一台阶和两台阶,问上10个台阶有多少种走法
    f(n) = f(n-1) + f(n-2)   f(1) = 1  实际上就是Fabonacci数列。 答案为89
     
    5.100层楼,两个鸡蛋。某层之上扔鸡蛋就会碎。问至少要测试多少次才能试出这个层数。
    据传这是google的面试题。数学建模很重要!!!

    设x个鸡蛋扔y次可以测试F层,则F=f(x,y).

    f(1,1)=1,f(1,2)=2........f(1,n)=n

    f(2,1)=1,对于f(2,2),先测试一次,如果第一个鸡蛋没有破,则测试该层之上的层数为f(2,1),如果第一个鸡蛋破了,则测试该层之下的层数为f(1,1). 所以f(2,n)=1+f(1,n-1)+f(2,n-1).

    因此f(2,1)=1, f(2,2)=3, f(2,3)=6, f(2,4)=10, f(2,5)=15, f(2,6)=21

    =>f(2,n)=n*(n+1)/2

    =>n=14

    具体方法是先从14楼开始抛第一次;如果没碎,再从27楼抛第二次;如果还没碎,再从39楼抛第三次;如果还没碎,再从50 楼抛第四次;如此,每次间隔的楼层少一层。这样,任何一次抛棋子碎时,都能确保最多抛14次可以找出临界楼层。

    6.25匹马,每次比赛可选5匹马赛出次序(无法计时)。问至少要比赛多少次才能确定跑得最快,次快和第三快的三匹马。

    7次。首先分为5组,每组进行一次比赛,然后每组的头一名共五匹马比赛一次。假设第一组快于第二组快于第三组依次。最后一次安排第一组的二三名和第二组的一二名和第三组的第一名。

    7.A、 B、C三个瓶子,A瓶子是空的,B瓶子里有1个白球1个黑球,C瓶子里有1000个白球和1280个黑球。现在蒙着眼睛从C瓶子里取两个球放到A瓶子里。 分两个阶段从三个瓶子中摸球(每次摸球后放回再摸下一次),摸到白球赢55000美元,摸到黑球什么也得不到也不损失什么。问为了使两次的收益最大,应该 采取什么策略?

    这道题目没看懂什么意思。。。。

    8. 大题1:插入一个节点到一个有序链表。   O(n)的很好写了,有O(logn)的算法???

    大题2:循环的有序数组(比如1,2,3,4,5,-3,-2,-1这种数列)里查找一个数。

    (如何二分?分段二分,下篇文章叙述)

    大题3:在一个正整数序列中,求和最大的非相邻子序列(序列任两元素在原序列里都不相邻)(dp?比如,1,2,3,5,4,答案应为8)

    可以用动态规划,状态转移矩阵如下:

    max[0] = num[0]
    max[1] = max(num[0], num[1])
    max[i] = max(max[i-2] + num[i], max[i - 1])

    不止适合都是正整数的,还适合有负数的情况。

    int mycal(int len, int b[])

    {

        if (len==1)

            return b[len-1];

        if (len==2)

            return (b[len-1]>b[len-2]?b[len-1]:b[len-2]);

        if (len>=3)

            return max(mycal(len-2, b)+b[len-1], mycal(len-1, b));

    }

  • 相关阅读:
    .net ajax和后台数据简单交互。传参JSON返回
    基于layui的管理后台简单导航,简单框架布局。左侧菜单栏以及动态操作tab项
    .net使用layui框架下。绑定搜索下拉框-模糊查询
    .NET用样式做模式模态窗口层,弹出遮罩层
    .net里ajax调用后台方法返回LIST集合
    sql的行转列(case when) sqlserver.net
    查SQLSERVER MSSQL查约束是哪张表
    powerbuilder 在pb里面怎么把文件编译成exe文件
    powerbuilder datawindow给表格某列赋值或设置禁用
    powerbuilder给文本框赋值
  • 原文地址:https://www.cnblogs.com/wgang171412/p/4951352.html
Copyright © 2011-2022 走看看