【转载CSND】一道淘汰85%面试者的百度开发者面试题
本帖最后由 jonng 于 2014-5-20 18:08 编辑各位你们写好再回复,我把我写的代码锁定了,回复之后就可以看到我写的代码。我用的是VC6.0。
各位,本人只是想大家共同进步,共同学习,没说我的代码就好,就牛,这题像小甲鱼说的:没有标准答案的。请别误解。
题目描述:依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。
提示:这道看似非常简单的题目,却潜藏着几个玄机。面试官通过这道题,考察学生在语法、语义、语用以及算法优化方面的能力。现实告诉我们,通过这一道题目,就可以淘汰85%的面试者。看似残酷的考察方式,却也体现出学生在基础知识、动手能力到思维能力上的差距。
需要注意的考察点:
- 语法:语法的正确书写,包括格式
- 语义:对循环、分支等语义的理解与掌握
- 语用:对变量命名、表达式及语句的组合使用
- 算法优化:如果要提高运行效率,可以在算法上寻找突破口,也可以采用空间换时间的通用原则。
**** Hidden Message *****
谢谢楼主分享 看一看哈,回帖是美德! 那么厉害吗 看看是怎么样的 #include <stdio.h>
int main(void) {
int i;
for( i=0+1;i<=100;++i ) {
int div_3 = !(i%3);
int div_5 = !(i%5);
if( div_3 || div_5 )
printf("%s%s%d ",
div_3?"*":"",
div_5?"#":"",
i
);
}
printf("\n");
} 看看......... 看看有什么牛逼的地方 谢谢分享。。 我看看答案 路过看看啊!哈哈 还是感觉你的i!=0;的判断很多余,楼主不觉得吗?
看看, 看看 仰望天上的光 发表于 2014-5-18 22:42 static/image/common/back.gif
?运算符可以精简很多代码呀…… ☆﹎尐の潴猪 发表于 2014-5-19 09:25 static/image/common/back.gif
还是感觉你的i!=0;的判断很多余,楼主不觉得吗?
不加这个判断,不是会输出*#0吗?
0%3==0,0%5==0呀 :lol:这年头,干啥都不容易。灌水也要专业点哈~ 论坛和谐学习环境,需要你我一起来维护^_^ 谢谢楼主! 路过,,,, 感谢楼主无私奉献!