次招聘会的成果如何nushen9· cc
看了几份试卷,微微有些失望,能达到自己心目中及格分的都不多nushen9· cc
她不禁开始反思,自己出的题目是不是太难了点?
题目只有二十道,十道填空题是考察编程技巧的nushen9· cc
比如让一个大数字乘以16的高效算法nushen9· cc
如果按照中学数学去解答那就大错特错了nushen9· cc
正确的方法是使用位移nushen9· cc因为计算机存储数据用的是二进制,如果乘数除数是二进制整数,那么只需要使用位移就可以了nushen9· cc16用二进制表示是10000,向左移动四位即可nushen9· cc
在普通程序段这个技巧可能不重要,但要是在循环中运用这个技巧,就可以大幅度地提高运算效率nushen9· cc对于程序员来说,是很基本的技巧nushen9· cc
但就是这么一个基本技巧,依然有一些人没有给出正确答案nushen9· cc
十道大题是考察用程序解决问题的能力nushen9· cc
题目没有标准答案nushen9· cc对于答案的评分,不仅要看解题逻辑是否正确,还要看运算效率nushen9· cc这就是程序员和数学家的区别,数学家只要求正确就可以了,程序员不仅要正确,还要高效nushen9· cc
效率对程序的运行是很重要的,特别是在某些持续运行的循环中,特别的重要nushen9· cc
比如游戏的画面呈现,本身就是一个大循环nushen9· cc简单地说,一帧的画面呈现就是主循环运行一次的结果nushen9· cc如果这个循环运行效率很低,可想而知,帧数就会很低,画面就会卡顿nushen9· cc
所以,解决问题不仅需要正确的思路,还需要能高效运行nushen9· cc
像这道题:
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶nushen9· cc求该青蛙跳上一个n级的台阶总共有多少种跳法nushen9· cc
看起来很难,普通人抓破脑袋都很难推演出正确答案nushen9· cc
要是让程序员来解答,就很简单,写一个递归算法即可,一页代码都用不到nushen9· cc
但是呢,就算解答出来,也是看运行效率的nushen9· cc高效运行和低效运行得到的评价是完全不同的nushen9· cc
另一道:
在加勒比海上,有五个海盗,这些海盗都是十分聪明且贪婪的,他们共同抢到了100枚金币,每一