C语言混乱代码

国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际编程赛事,从1984年开始,每年举办一次(1997年、1999年、2002年、2003年和2006年例外)。目的是写出最有创意的最让人难以理解的C语言代码。

(以上内容引用自维基百科)

正因为C语言有预处理器和一些不常用的特性,所以可以写出复杂难懂的代码。历年的获奖作品可以在这里看到。

例如以下代码(运行结果是一首英文诗):

继续阅读“C语言混乱代码”

Windows下双击jar文件运行java控制台程序

放假之前曾经遇到这样一个问题:

Windows操作系统下,用java写的图形界面程序,打包成jar后,双击可以直接运行。但是java写的控制台程序,打包成jar后,双击无任何反应。

我们知道在cmd中直接输入“java -jar test.jar”就可以运行这个jar文件,程序的运行结果直接输出到控制台。既然用命令行可以运行,那么为什么直接双击却不能运行?

继续阅读“Windows下双击jar文件运行java控制台程序”

基于比较的排序算法时间复杂度下限

昨天和74LS138学长聊天的时候,突然想到一个问题:

基于比较的排序算法中,有很多可以达到\(O\left( {n\log n} \right)\)的时间复杂度,但是能不能找到一种在时间复杂度意义上更快速的排序算法?

在网上查了一下,答案是不能,而且竟然可以很简单地证明出这个结论。

继续阅读“基于比较的排序算法时间复杂度下限”

为什么之前一直没有写博客

今年暑假就把WordPress搭建好了,但是一直没有写文章。

主要原因是一直以为要有什么新奇的想法才能写成文章,自己又很懒,又有拖延症,再加上我总是宅在没办宽带的寝室。。。

我最近看了许多大神的博客,觉得不是一定要有什么新奇的想法才可以写文章,用博客记录平时的想法和经历也很不错,于是准备从现在开始经常写点什么。