Wanted

流氓会议

流氓会议的性质类似于流氓软件,是一种在与会者事先不知的情况下,捆绑着其他会议、讲座、宣传的会议。                                                                                     ——   爱德丝

是不是闻所未闻?但是就是这种闻所未闻的事情在我们学校发生了。快放假了,学校开一个会交代一下暑期工作吧,天经地义。我也不知道学校收了交大AIC软件学院(培养对日软件工程师)多少钱了,竟然在会议之前强行插入该学院的毕业典礼,汗。

作秀开始,首先为毕业的同学颁发证书。接着几个同学发表毕业感言,个个都是满脸的假春风。我看他们最后恨不得加一句类似于感谢CCTV、感谢交大AIC的 恶心话。最后由一位AIC的老师给我们分析了一下IT前景,所谓的分析,实质性的内容是没有的,只说了一些我大一就知道的东西。教室里其余的老师适时地送 上了AIC的资料。整个过程以及资料虽然只字未提报名缴费的事情,但傻子都能嗅出有很浓烈的商业气味。学院还美其名曰:毕业生就业启动会。

来开会的人本来就少,经过这事情后还会有人来吗?真是自作自受。

输出斐波那契数列前1000个数

一道面试题。各位如果有更好的算法,请告诉我,谢谢。

  1. #include <stdio.h>
  2. #define N 1000
  3.  
  4. int x[N] = {1, 1};
  5. int y[N] = {1, 1};
  6.  
  7. int compare()
  8. {
  9.     if (x[0] - y[0] != 0)
  10.         return x[0] - y[0];
  11.     else
  12.         return x[x[0]] - y[y[0]];
  13. }
  14.  
  15. void printn(int *a)
  16. {
  17.     static int i = 1;
  18.  
  19.     printf("%d: ", i++);
  20.     printf("%d", a[a[0]]);
  21.     for (int j=a[0]-1; j>=1; --j)
  22.     {
  23.         printf("%04d", a[j]);
  24.     }
  25.  
  26.     printf("\n");
  27. }
  28.  
  29. void addto(int *a, int *b)
  30. {
  31.     b[0] = (a[0] > b[0] ? a[0] : b[0]);
  32.     int tmp = 0;
  33.  
  34.     for (int i=1; i<=b[0]; ++i)
  35.     {
  36.         tmp += a[i] + b[i];
  37.         b[i] = tmp % 10000;
  38.         tmp /= 10000;
  39.     }
  40.  
  41.     if (tmp != 0)
  42.     {
  43.         b[0] += 1;
  44.         b[b[0]] = tmp;
  45.     }
  46. }
  47.  
  48. int main()
  49. {
  50.     for (int i=0; i<N; ++i)
  51.     {
  52.         if (compare() < 0)
  53.         {
  54.             printn(x);
  55.             addto(y, x);
  56.         }
  57.         else
  58.         {
  59.             printn(y);
  60.             addto(x, y);
  61.         }
  62.     }
  63.  
  64.     return 0;
  65. }

 

volatile and restrict type qualifiers

C89 标准委员会为 C 添加了两个限定词,const 和 volatile。C99 委员会添加了第三个 restrict 限定词。这三个限定词以及他们的结合决定了当编译器通过一个左值( lvalue,暂且翻译成左值 )访问一个对象时所做的一些假设。左值就是即可以出现在赋值语句左边也可以是右边的对象。

const 的语法和语义是从 C++ 那里改编来的,const 这个概念在许多其他语言里都有。volatile 和 restrict 是委员会的发明,两者都遵从 const 的语法模式。

类型限定词的作用是控制对代码的优化。有几项重要的优化技术是建立在缓冲原理之上的:在某些情况下,编译器可以使用寄存器保存最近一次通过地址访问的值,并且当再次访问同一地址时使用这个记住的值( CPU 寄存器或高速缓冲是典型的硬件寄存器)。如果使用寄存器而不是外部的存储器,代码可以变得更小更快。





一个很不错的 PHP+MySQL 免费空间

朋友推荐我一个国外的 php+MySQL 空间,很不错。注册简单快捷,立即开通。具体信息如下:

  • 无广告
  • 300MB 空间,每月 10G 流量
  • 支持 PHP + MySQL( 3 个数据库 )
  • 支持 FTP + 网页控制面板
  • Webmail, POP3 mail
  • 5 个附加域名,5 个二级域名

经测试,访问速度相当快,有兴趣的可以去注册一个。

主页:

www.0fees.net

我申请的空间:

yuanyinwei.0fees.net

青蛙成灾

今天下午去买饭,看到了蔚为壮观的一幕。放眼望去,寝室楼下的小道上,密密麻麻,全是小青蛙 ,个头只有拇指指甲大小。

很多小青蛙还占领了寝室楼一楼的过道。虽然从那小道上小心翼翼走过,你仍会时不时感到脚底传来异样的感觉,抬脚一看,一只被压扁的小青蛙,抬脚一看,又是一只。阿门,我不是故意的

一辆助动车风驰电掣地从我身边飞过,又不知道有多少小青蛙失去了她们年轻的生命。

特此默哀三秒钟。

 

Ubuntu Cola, a cola with personality!

Ubuntu 现在不只是一个操作系统,英国 Ubuntu 贸易公司已经发明了 Ubuntu 可乐。此可乐打着 Ubuntu 的旗号,难道是免费的?非也,但它也秉承了 Ubuntu 的%ldquo人道待人%rdquo哲学,成为英国第一个 fairtrade 的可乐。

凡是带着 fairtrade 标记的商品,是用来帮助发展中国家的农民得到一个较好的待遇。Fairtrade 雇主必须支付合理、公平的工资给农民,提供安全的工作环境,保证不使用童工,为庄稼的可持续生产提供必要的保障等。农民也可以从雇主那里得到用于教育、医疗等额外的奖金。

使用 fairtrade 标记必须得到 fairtrade 基金会授权。fairtrade 基金会的目标是:公正和可持续发展成为贸易结构的中心,每一个人都可以通过自己的工作,维持一个体面、有尊严的生活,并且发展自己的潜力。

哎,这样的老师没药救了

教我们计算机专业英语的老师徐某人,是个混饭吃的。

一门选修课,他竟然为我们订了四本教材,上课的时候却只用一本。其他三本他美其名曰辅助教材。我看他显然是拿回扣的。据我所知,不但是我上的这门课,只要是他上的任何课都是这样。

第一小节课上听力,他只说一句话,%ldquo同学们,我们再听一遍%rdquo,45分钟就反复听一篇课文。第二小节课,他假装翻译课文。他以为我们没看见,其实我全看见了,他把书后的翻译撕下来在那里读。读完后,离下课还有20分钟,他又说:同学们,给你们20分钟时间把课后习题做一下。一节课就这样没了。

我们人人都知道这老师脾气好,上课从来不点名,所以缺席的相当厉害。这课选的人本来就少,同学还缺席,最后就我一人去上了。不过令我十分佩服的是,徐某人看见只有我一人,照样%ldquo同学们,我们再听一遍%rdquo,%ldquo同学们,给你们20分钟时间把课后习题做一下%rdquo,我狂晕