Re: [请益] 今天去面试IC设计软件工程师被打爆的题目

楼主: blackwindy (黑色的风)   2013-11-21 20:48:05
※ 引述《wildcupid (小渔歌)》之铭言:
: 还有印象的题目如下:
: (1) 请概述下列的三种程式要求,分别会遇上什么样的问题,又该如何解决?
: a. 输出 99 阶乘的结果
大数运算
: b. 输出 9999*9999 的乘法表
先问int的上界多少,这依据compiler不同而可能有差异
如果2147483647 是吃的下的,最大也才99980001
: c.任意两个 dimension size = 999999*999999 的二维矩阵,输出相乘的结果
好的解法是都存进档案里,要计算的时候只读取需要的部分出来计算
这样内存就不必用这么多
内存利用问题,要看硬件环境,OS,环境设定
有些OS会限制单一process总共可malloc的内存大小(例如XP好像是1.5GB)
所以要先预估总共会吃多少内存
假设每单位元素是 1 bytes
1 bytes* 999999 * 999999 大约是 1TB左右
所以如果你OS能够管理这么多memory(实体加虚拟)又没有限制的话
是真的可以要到这么多
: (2)大乐透的规则是 49 个号码当中,取 6 个号码开奖;只要彩券有 3 个以上的号码与
: 开奖结果相同,就是中奖。依此规则请问:
: a. 最少需买几张才可以保证中一张?
此题我认为原po题目有误 (我错了 题目无误qq)
应该说至少需买几张"不重复"的彩卷才能保证中一张
所以只要买齐:
全部号码都不同 + 恰好1个号码相同 + 恰好2个号码相同 + 剩余可能中的任意一张
那一张就必中奖,因为其他不会中的都买过了
: b. 概述如何以程式验证 a.的答案。
产生 全部号码都不同 + 恰好1个号码相同 + 恰好2个号码相同 的所有可能
计算数量之后验算即可
要注意彩卷号码是无视顺序的
所以程式写的好就不会多跑到那些重复的,可节省运算时间
剩下2题相信都有解了
那题圆周率应该是牛顿逼近法 印象中高中有算过
作者: drkkimo (花猫~ 努力工作)   2012-01-21 21:01:00
题目无误 它问"最少" 你应该可以用归纳法证明出 若有一买法 是"最少"的买法 但买法里又有重复 那会矛盾
作者: drkkimo (花猫~ 努力工作)   2012-01-21 21:02:00
我是指第2题
楼主: blackwindy (黑色的风)   2012-01-21 21:05:00
OK我懂你的意思了 也对 最少就表示不会有重复出现
楼主: blackwindy (黑色的风)   2012-01-21 21:06:00
感谢楼上意见
作者: stosto (树多)   2012-01-22 01:27:00
买彩卷那题就是最少张但是要必中,所以中奖是有可能一张以上

Links booklink

Contact Us: admin [ a t ] ucptt.com