“火柴棍式”程序员面试题 | 酷壳
";document.body.appendChild(e);e.play()}function x(e){e.className+=" "+s+" "+o}function T(e){e.className+=" "+s+" "+u[Math.floor(Math.random()*u.length)]}function N(){var e=document.getElementsByClassName(s);var t=new RegExp("\\b"+s+"\\b");for(var n=0;n
酷壳 – CoolShell.cn
- 首页
- 推荐文章
- 本站插件
- 留言小本
- 关于酷壳
- 关于陈皓
“火柴棍式”程序员面试题
有时候,有些面试题是很是无厘头,这不,又有一个,还记得小时候玩的的“火柴棍游戏”吗,就是移动一根火柴棍改变一个图或字的游戏。程序面试居然也可以这么玩,看看下面这个火柴棍式的程序面试题吧。
下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。
int n = 20; for(int i = 0; i < n; i--){ printf("-"); }
不要以为这题不是很难,我相信你并不那么容易能找到3种方法。我觉得,如果你能在10分钟内找出这三种方法,说明你真的很聪明,而且反应很快。当然,15分钟内也不赖。不过,你要是30分钟内找不到三种方法,当然,不说明你笨了,最多就是你的反应还不够快。嘿嘿。就当是玩玩吧。
下面是我的答案:
//第一种解法:在for循环中给n加一个负号 for(int i = 0; i < -n; i--) //第二种解法:把 n 初始化成 -20 int n = -20; //第三种解法:把for循环中的 i 初始化成40 for(int i = 40; i < n; i--)
不过,我要告诉你,以上这些答案都不对(我就知道你会偷看答案的),不过,顺着这些思路走很接近了。呵呵。
下面是正确答案——
//第一种解法:在for循环中给 i 加一个负号 for(int i = 0; -i < n; i--) //第二种解法:在for循环中把 i-- 变成 n-- for(int i = 0; i < n; n--) //第三种解法:把for循环中的 < 变成 + for(int i = 0; i + n; i--)
其它相关的变种题如下:
- 通过修改、增加一个字符,让其输出21个减号
- 通过修改、增加一个字符,让其只输出1个减号
- 通过修改、增加一个字符,让其不输出减号
(全文完)
(转载本站文章请注明作者和出处 酷壳 – CoolShell.cn ,请勿用于任何商业用途)
相关文章
- 2012年08月01日 -- 一个fork的面试题
- 2012年11月22日 -- 为什么不能用微信或米聊这类的软件
- 2011年02月28日 -- 打印质数的各种算法
- 2011年01月07日 -- 输出从1到1000的数
- 2011年04月02日 -- 又一个有趣的面试题
- 2010年06月23日 -- 面试题:布尔变量
- 2012年08月06日 -- C++的坑真的多吗?
- 2012年09月20日 -- C/C++语言中闭包的探究及比较
-
tjhgit_it2011年10月10日13:36 | #1回复 | 引用
dddd
-
1232011年10月11日07:39 | #2回复 | 引用
n–
-
丹丹tu2011年10月11日09:50 | #3回复 | 引用
求解啊!
-
御剑逍遥2011年10月11日15:57 | #4回复 | 引用
找到三种方法了,-, +, n
-
7332011年10月11日16:36 | #5回复 | 引用
强;了
-
我的天涯2011年10月11日16:57 | #6回复 | 引用
是什么呢?
-
uohzoaix2011年10月11日17:50 | #7回复 | 引用
看看哦
-
Barbapapa2011年10月11日19:15 | #8回复 | 引用
-i–
-
jonny2011年10月12日11:52 | #9回复 | 引用
囧了,反应不够快……
-
onlookeryy2011年10月12日13:34 | #10回复 | 引用
求解~~~
-
sorfans2011年10月12日13:41 | #11回复 | 引用
不顶不行了,我笨
-
kaedelin2011年10月12日16:31 | #12回复 | 引用
求解~~~
-
Penna2011年10月13日11:51 | #13回复 | 引用
just to see the answer
-
dx28802011年10月13日13:05 | #14回复 | 引用
看答案啊看答案
-
iw_deity2011年10月13日15:00 | #15回复 | 引用
想出两种来
-
linhui5682011年10月29日10:25 | #16回复 | 引用
想出一种就看答案了!
-
ytwei2011年11月16日18:31 | #17回复 | 引用
变种题是博主自己解题过程中产生的,我觉得不好。编程功底还需要再修炼啊。
-
lixinqi2011年11月21日18:55 | #18回复 | 引用
我一直觉得这么些trick不应该是程序员要追求的, 我们应该把更多的心思放在更好的设计上.
-
gostarter2011年12月29日19:23 | #19回复 | 引用
想出一个就看答案了,还是反应不够快啊!
-
WOLFKING2011年12月30日15:02 | #20回复 | 引用
7分钟想出前两种 最后一种不太容易发现!
-
逍遥潘达2012年1月17日11:15 | #21回复 | 引用
没看答案情况下不到十分钟想出了1、3两种,第二种没有意识到,想到了一个错的,中招..!!
-
krime2012年1月17日13:48 | #22回复 | 引用
1.~ 2.& 3.
-
leemax2012年1月18日10:10 | #23回复 | 引用
一不小心就给都想出来了。。。
-
playmud2012年3月28日14:11 | #24回复 | 引用
第一个想法就是把20改成21,这。。。。
-
h0072012年4月17日14:27 | #25回复 | 引用
我也找到了,但是花了30 多分钟,反应果然比较慢。。。。
-
吃核桃不吐核桃皮2012年4月18日14:36 | #26回复 | 引用
第三种方法,条件不是必须要布尔型的嘛?难道别的也可以
-
John2012年4月27日16:40 | #27回复 | 引用
吃核桃不吐核桃皮 :
第三种方法,条件不是必须要布尔型的嘛?难道别的也可以第三种一开始真没看明白,猜想可能 0为false,非0为true吧
-
Tidus2012年4月27日17:52 | #28回复 | 引用
本来看过这个了的,也没啥印象了,今天又想了一下,竟然乱打乱碰弄出一个新答案。
for(int i = 0; ~i < n; n–) -
buddy2012年5月10日06:01 | #29回复 | 引用
+号的 没想出来。
-
Archer2012年6月13日11:16 | #30回复 | 引用
想出来2、3,第一种先想的i<-n,真心觉得知道思路还是要仔细验证,失之毫厘谬以千里,要努力客服自己想当然的缺点。。唉~
-
hao2012年7月18日15:50 | #31回复 | 引用
哈哈,只想出第一种和第二种,真够考验智商的。
-
sam2012年7月28日04:50 | #32回复 | 引用
这个blog真的不错
-
bob2012年8月21日12:44 | #33回复 | 引用
个人认为第2种最靠谱,因为不管i是有符号数还是无符号数,都对
-
大湿2012年10月5日18:58 | #34回复 | 引用
只找到了三种
-
小九2012年10月8日19:45 | #35回复 | 引用
擦 我i只找到了2种,第3种,没有想到,当i=-20时,i+n==0厉害~~
-
Silverbullettt2012年10月23日21:14 | #36回复 | 引用
把 i < n 改成 ~i < n,可以输出21个减号。
-
Martin Wood2012年12月11日11:16 | #37回复 | 引用
@吃核桃不吐核桃皮
在有些语言里面 整型0 1 同效 布尔型false true,不过有一些语言就不行。。所以像楼主说的,just joy -
wsmsyc2013年1月8日17:37 | #38回复 | 引用
@lixinqi
支持。但是这种trick权当开阔思维。 -
lili2013年1月8日18:07 | #39回复 | 引用
ding
-
lili2013年1月27日10:35 | #40回复 | 引用
这道题目前有四种答案
-
王老虎2013年4月22日14:13 | #41回复 | 引用
我以为正确的试试才知道错了,为啥呢
-
angkorpeach2013年6月19日16:10 | #42回复 | 引用
我看到这个题目的第一反应是c语言的for的括号里不能定义int i = 0,根本就没注意到后面的i–……
-
2011年3月22日01:14 | #1火柴棍与邪恶的惯性思维 | 忙碌の驿站 manglu.net
-
2011年3月23日00:16 | #2klion26 » 你的C语言很牛吗?来试试这个
-
2011年4月1日11:23 | #3XiFage's Blog » “火柴棍式”程序员面试题
-
2011年4月2日11:22 | #4有一个有趣的面试题 | 酷壳 – CoolShell.cn
-
2011年4月20日08:36 | #5再谈“我是怎么招聘程序员的”(下) | 酷壳 – CoolShell.cn
-
2011年4月20日14:33 | #6再谈“我是怎么招聘程序员的” | laura's site
-
2011年4月27日17:14 | #7再谈“我是怎么招聘程序员的”(上) | Xeno Joshua
-
2011年4月27日17:14 | #8再谈“我是怎么招聘程序员的”(下) | Xeno Joshua
-
2011年12月20日14:37 | #9如何学好C++语言 | 搜索引擎技术博客
-
2012年7月13日10:34 | #10[转]再谈“我是怎么招聘程序员的” » 浪迹他乡 | 王伟的主页 | 浪迹他乡 | 王伟的主页
-
2012年7月15日00:17 | #11“火柴棍式”程序员面试题 | 互联网纪事
-
2013年5月5日21:11 | #12再谈“我是怎么招聘程序员的”(上) | 酷壳 – CoolShell.cn
本站公告
访问 酷壳404页面 支持公益!
酷壳建议大家多使用RSS访问阅读(本站已经是全文输出,推荐使用Google Reader)。有相关事宜欢迎电邮:haoel(at)hotmail.com。最后,感谢大家对酷壳的支持和体谅!
感谢 42qu.com 为本站提供 VPS
最新文章
- Javascript 装载和执行
- 无锁HashMap的原理与实现
- 浏览器的渲染原理简介
- 疫苗:Java HashMap的死循环
- “C++的数组不支持多态”?
- Unix考古记:一个“遗失”的shell
- PFIF网上寻人协议
- “作环保的程序员,从不用百度开始”
- 《Rework》摘录及感想
- 实例分析Java Class的文件结构
- 并发框架Disruptor译文
- sed 简明教程
- AWK 简明教程
- Linus:利用二级指针删除单向链表
- 从面向对象的设计模式看软件设计
- 应该知道的Linux技巧
- 程序算法与人生选择
- Web工程师的工具箱
- 如此理解面向对象编程
- 程序员疫苗:代码注入
- 你可能不知道的Shell
- 为什么不能用微信或米聊这类的软件
- 如何测试洗牌程序
- Go 语言简介(下)— 特性
- Go 语言简介(上)— 语法
- TF-IDF模型的概率解释
- xkcd 神图“Click and Drag”
- Bret Victor – Learnable Programming
- C/C++语言中闭包的探究及比较
- 对九个超级程序员的采访
全站热门
- 程序员技术练级攻略
- 简明 Vim 练级攻略
- 如何学好C语言
- 6个变态的C语言Hello World程序
- 由12306.cn谈谈网站性能技术
- Android将允许纯C/C++开发应用
- “21天教你学会C++”
- 我是怎么招聘程序员的
- 应该知道的Linux技巧
- 做个环保主义的程序员
- “作环保的程序员,从不用百度开始”
- 28个Unix/Linux的命令行神器
- 编程真难啊
- Web开发中需要了解的东西
- C++ 程序员自信心曲线图
- SteveY对Amazon和Google平台的吐槽
- 20本最好的Linux免费书籍
- 如何写出无法维护的代码
- 各种流行的编程风格
- 程序算法与人生选择
- 深入理解C语言
- 如何学好C++语言
- Windows编程革命简史
- 面试题:火车运煤问题
- 三个事和三个问题
- 别的程序员是怎么读你的简历的
- 老手是这样教新手编程的
- 偷了世界的程序员
- C语言的谜题
- 再谈“我是怎么招聘程序员的”(上)
新浪微博
标签
分类目录
- .NET编程 (2)
- Ajax开发 (9)
- C/C++语言 (50)
- Erlang (1)
- Java语言 (29)
- PHP脚本 (11)
- Python (20)
- Ruby (4)
- Unix/Linux (63)
- Web开发 (99)
- Windows (12)
- 业界新闻 (25)
- 企业应用 (2)
- 技术新闻 (32)
- 技术管理 (7)
- 技术读物 (115)
- 操作系统 (43)
- 数据库 (10)
- 杂项资源 (246)
- 流程方法 (43)
- 程序设计 (67)
- 系统架构 (5)
- 编程工具 (61)
- 编程语言 (157)
- 网络安全 (21)
- 职场生涯 (32)
- 趣味问题 (13)
- 轶事趣闻 (145)
归档
- 2013 年六月 (1)
- 2013 年五月 (3)
- 2013 年四月 (3)
- 2013 年三月 (3)
- 2013 年二月 (5)
- 2013 年一月 (1)
- 2012 年十二月 (4)
- 2012 年十一月 (5)
- 2012 年十月 (3)
- 2012 年九月 (4)
- 2012 年八月 (8)
- 2012 年七月 (4)
- 2012 年六月 (7)
- 2012 年五月 (6)
- 2012 年四月 (6)
- 2012 年三月 (6)
- 2012 年二月 (3)
- 2012 年一月 (6)
- 2011 年十二月 (5)
- 2011 年十一月 (9)
- 2011 年十月 (6)
- 2011 年九月 (5)
- 2011 年八月 (14)
- 2011 年七月 (6)
- 2011 年六月 (12)
- 2011 年五月 (5)
- 2011 年四月 (18)
- 2011 年三月 (16)
- 2011 年二月 (16)
- 2011 年一月 (18)
- 2010 年十二月 (11)
- 2010 年十一月 (11)
- 2010 年十月 (19)
- 2010 年九月 (15)
- 2010 年八月 (10)
- 2010 年七月 (20)
- 2010 年六月 (9)
- 2010 年五月 (13)
- 2010 年四月 (12)
- 2010 年三月 (11)
- 2010 年二月 (7)
- 2010 年一月 (9)
- 2009 年十二月 (22)
- 2009 年十一月 (27)
- 2009 年十月 (17)
- 2009 年九月 (15)
- 2009 年八月 (21)
- 2009 年七月 (18)
- 2009 年六月 (19)
- 2009 年五月 (27)
- 2009 年四月 (53)
- 2009 年三月 (43)
最新评论
- angkorpeach: 我看到这个题目的第一反应是c语言的for的括号里不能定义in t i = 0,根本就没注意到后面的i–……
- iterzebra: 请教如上问题~
- iterzebra: public class Link { private long src; private short srcPort; private long dst; private short dstPort;...
- lastspring: 没说反吧。hash表的建立就是基于key的,如果key值不一 样的话那就是非常棒的hash表,但是如果hash的键值冲突的 话,就需要别的处理方法,这里应该是书上所说的链接法。然...
- 科品仪器: 要是来个国言的语言就好了,让菜鸟们也能当当大侠
- 问一个问题: 您那么推崇国外邮箱,甚至说自己从来不用国内邮箱。棱镜项目安全 么?这就是你的安全,专业?科学是有国际的,洋帮办
- XXXX: 能否建议一下 把页面的字体改为courier New或者微软雅黑的字体?
- bennet2009: 链接都无法打开
- cary: 建议存活阶段在添加一个 :q! 强制退出不保存, 以及 :u 撤销 Ctrl + r 取消撤销.
- sqaernrsqvzt: sqocfbijwauk
- danameli: I am often blogging and i really appreciate your content. The article has really peaked my interest.
- ameblo: The subsequent moment I learn your weblog, I hope it doesnt fail me when a great deal as this. I imply, I can...
- 李春亮: $ awk ‘NR!=1{print > $6}’ netstat.txt 这句应该是$ awk ‘NR!=1{print $6}’ netstat.txt这样吧。 谢谢
- E7: @stevenxu 别这么二可以吗?看官们的智商都被你拉低了
- ancharn: L=AW L: queue length A: arrival rate W: wait time, W=Q+S, Q: queue time, S: service time, S=Tsys+Tuser
友情链接
- 陈皓的博客
- 并发编程
- 四火的唠叨
- devtext 开发者社区
- Claymore's blog
- Dutor.net
- bones7456
- Keengle's Blog
- 简明现代魔法
- 罗素工作室
- 代码回音
- HelloGcc Working Group
- 吕毅的Blog
- Todd Wei的Blog
- C++爱好者博客
- HTML5研究小组
- 12Free
- 朱文昊Albert Zhu
- C瓜哥的博客
- 开源吧
- 靖难|魔都小码农
- ACMer
- 陈鹏个人博客
- OneCoder
- 狂Shell – Happy Hacking
- TekTea's Blog
- 夕水溪下
功能
- 注册
- 登录
- 文章 RSS
- 评论 RSS
- WordPress.org