Chinaunix

标题: 这个程序居然是一篇日记 [打印本页]

作者: mmgg00    时间: 2007-07-25 08:59
标题: 这个程序居然是一篇日记
有兴趣的来看看,顺便给解释一下呗,运行结果居然是一篇日记


  1. #include <stdio.h>
  2. main(t,_,a)
  3.     char *a;
  4. {
  5.     return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):
  6.         1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
  7.         main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,
  8.                 "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
  9.                 ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
  10.                 q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
  11.                     ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
  12.                         iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
  13.                                           ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')#\
  14.                                           }'+}##(!!/")
  15.                                           :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
  16.                                           :0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,
  17.                                           "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);
  18. }
复制代码

作者: cugb_cat    时间: 2007-07-25 09:07
强~~~~
作者: duanjigang    时间: 2007-07-25 09:08

  1. On the first day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  2. a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  3. On the second day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  4. two turtle doves
  5. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  6. On the third day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  7. three french hens, two turtle doves
  8. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  9. On the fourth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  10. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  11. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  12. On the fifth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  13. five gold rings;
  14. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  15. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  16. On the sixth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  17. six geese a-laying, five gold rings;
  18. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  19. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  20. On the seventh day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  21. seven swans aaaaaaaaaaaaaaaaaaaaaaaaa-swimming,
  22. six geese a-laying, five gold rings;
  23. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  24. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  25. On the eigth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  26. eight maids a-milking, seven swans aaaaaaaaaaaaaaaaaaaaaaaaa-swimming,
  27. six geese a-laying, five gold rings;
  28. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  29. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  30. On the ninth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  31. nine ladies dancing, eight maids a-milking, seven swans aaaaaaaaaaaaaaaaaaaaaaaaa-swimming,
  32. six geese a-laying, five gold rings;
  33. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  34. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  35. On the tenth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  36. ten lords a-leaaaaaaaaaaaaaaaaaaaaaping,
  37. nine ladies dancing, eight maids a-milking, seven swans aaaaaaaaaaaaaaaaaaaaaaaaa-swimming,
  38. six geese a-laying, five gold rings;
  39. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  40. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  41. On the eaaaaaaaaaaaaaaaaleventh day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  42. eleven pipers piping, ten lords a-leaaaaaaaaaaaaaaaaaaaaaping,
  43. nine ladies dancing, eight maids a-milking, seven swans aaaaaaaaaaaaaaaaaaaaaaaaa-swimming,
  44. six geese a-laying, five gold rings;
  45. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  46. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.

  47. On the twelfth day of Christmas my true love gaaaaaaaaaaaaaaaaave to me
  48. twelve drummers drumming, eleven pipers piping, ten lords a-leaaaaaaaaaaaaaaaaaaaaaping,
  49. nine ladies dancing, eight maids a-milking, seven swans aaaaaaaaaaaaaaaaaaaaaaaaa-swimming,
  50. six geese a-laying, five gold rings;
  51. four caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalling birds, three french hens, two turtle doves
  52. and a partridge in a peaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar tree.
复制代码

没看懂
作者: scutan    时间: 2007-07-25 09:10
这个仿佛就是那个最混乱程序设计大赛的作品吧.
作者: prc    时间: 2007-07-25 09:17
作者简直不是人!!!!!!
作者: duanjigang    时间: 2007-07-25 09:17
搜了一个算PI的变态程序

  1. long   a = 10000, b, c = 2800, d, e, f[2801], g;     
  2. main()
  3. {
  4.         for(; b - c; ) f[b++] = a/5;     
  5.         for(; d = 0, g = c * 2; c -= 14, printf("%.4d", e+d/a), e = d%a)     
  6.                 for(b = c; d += f[b]*a, f[b] = d%--g, d/=g--, --b; d*=b);
  7. }
复制代码

作者: MMMIX    时间: 2007-07-25 10:04
原帖由 scutan 于 2007-7-25 09:10 发表
这个仿佛就是那个最混乱程序设计大赛的作品吧.

估计是,这类程序的目的就是为了挑战编译器极限,顺便 show 下技巧
作者: MMMIX    时间: 2007-07-25 10:05
原帖由 emuen_1982 于 2007-7-25 09:32 发表




很想知道他们是怎么学习编程的。

熟能生巧,仅此而已。
作者: MMMIX    时间: 2007-07-25 12:15
原帖由 emuen_1982 于 2007-7-25 12:11 发表


居然可以熟到这种程度?

当然了。
作者: isnowran    时间: 2007-07-25 12:33
别被外观唬住了,其实你自己也能炮制一篇这样的稿子,步骤如下:
1. 用正常的方法,写一个能完成任务的程序
2. 把能不要的的换行都去掉,但要保证编译正常, 排列出自己想要的图案的雏形
3. 把正常的语句替换为废话,目的是为了填充、补齐你的图案雏形,达到
   "乱码"的效果
   3.1 一定要脱裤子放屁
   3.2 考虑递归、嵌套3.1规则
   例:0替换为argc<1?1:0
4. 你已经对此类物件有所感悟了
作者: kee212    时间: 2007-07-25 12:41
压缩率挺高的
作者: kuaizaifeng    时间: 2007-07-25 12:43
BT
作者: greegree    时间: 2007-07-25 13:04
--------------------Configuration: 0 - Win32 Debug--------------------
Compiling...
StdAfx.cpp
Compiling...
0.cpp
D:\CODE0\0.cpp( : error C2065: 't' : undeclared identifier
D:\CODE0\0.cpp( : error C2065: '_' : undeclared identifier
D:\CODE0\0.cpp( : error C2065: 'a' : undeclared identifier
D:\CODE0\0.cpp(9) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
D:\CODE0\0.cpp(9) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

0.exe - 5 error(s), 0 warning(s)



你们运行过吗?
=============================
// 0.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include <stdio.h>
main(t,_,a)
    char *a;
{
    return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):
        1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
        main(2,_+1,"%s %d %d\n":9:16:t<0?t<-72?main(_,t,
                "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
                ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
                q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
                    ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
                        iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
                                          ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')#\
                                          }'+}##(!!/"
                                          :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
                                          :0<t?main(2,2,"%s":*a=='/'||main(0,main(-61,*a,
                                          "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry",a+1);
}
====================================
作者: isnowran    时间: 2007-07-25 13:11
这种东西一般要用要求不严格的gcc来编译
作者: gaocheng    时间: 2007-07-25 13:59
http://www1.us.ioccc.org/main.html
都是这样的~~
作者: npcomet    时间: 2007-07-25 14:48
数学
作者: rhinux    时间: 2007-07-25 14:51
无聊的真多
作者: MMMIX    时间: 2007-07-25 16:51
原帖由 rhinux 于 2007-7-25 14:51 发表
无聊的真多

这种代码对于测试编译器很有用处的。一个健壮的编译器就是要能经受起各种变态代码的考验
作者: flw2    时间: 2007-07-25 18:18
我个人觉得比编译器难度大。
数学很强,而且这种作者应该都能写编译器。
作者: flw2    时间: 2007-07-25 18:20
我不同意13楼的看法,虽然表面上看起来是这样。但是至少我觉得CU上所有人加一起以当前水平给1万年也写不出来这种东西
作者: 枫轻扬    时间: 2007-07-25 18:30
强贴留爪,呵呵。
作者: MMMIX    时间: 2007-07-25 18:53
原帖由 flw2 于 2007-7-25 18:20 发表
我不同意13楼的看法,虽然表面上看起来是这样。但是至少我觉得CU上所有人加一起以当前水平给1万年也写不出来这种东西

你自己妄自菲薄不要紧,但把别人全部一竿子打翻就过于片面了。再说了,你真的对 CU 的人都那么了解?
作者: MMMIX    时间: 2007-07-25 18:54
原帖由 flw2 于 2007-7-25 18:18 发表
我个人觉得比编译器难度大。
数学很强,而且这种作者应该都能写编译器。

两回事,编译器要写好也不是那么简单的事情。
作者: NewCore    时间: 2007-07-25 19:43
标题: 看不懂~
看不懂,所以不发表意见
作者: jesus__christ    时间: 2007-07-25 20:08
技巧性 比较强,牛人!

个人相信CU里面是有部分人可以做到的,这个不是难事! 掌握技巧!


#include<iostream>
......



作者: yjh777    时间: 2007-07-25 23:57
原帖由 flw2 于 2007-7-25 18:20 发表
我不同意13楼的看法,虽然表面上看起来是这样。但是至少我觉得CU上所有人加一起以当前水平给1万年也写不出来这种东西


您的这两个回复, 至少让我觉的CU里灌的水有些灌到你脑子里了;拜托表盲目崇拜,,
作者: swordfish.cn    时间: 2007-07-26 00:28
一切按规矩办事都好说。
作者: huanleyezi    时间: 2007-07-26 02:53
标题: 回复 #31 swordfish.cn 的帖子
正确运行结果:
On the first day of Christmas my true love gave to me
a partridge in a per tree.

On the second day of Christmas my true love gave to me
two turtle doves
and a partridge in a per tree.

On the third day of Christmas my true love gave to me
three french hens, two turtle doves
and a partridge in a per tree.

On the fourth day of Christmas my true love gave to me
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the fifth day of Christmas my true love gave to me
five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the sixth day of Christmas my true love gave to me
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the seventh day of Christmas my true love gave to me
seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the eigth day of Christmas my true love gave to me
eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the ninth day of Christmas my true love gave to me
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the tenth day of Christmas my true love gave to me
ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the eleventh day of Christmas my true love gave to me
eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.

On the twelfth day of Christmas my true love gave to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a per tree.
作者: happystarry    时间: 2007-07-26 11:07
编不过去。这是我在公司用gcc编的结果
nj10-/home1/vpmg48<4>cat c.c
#include <stdio.h>
int main(int t,_,a)
   char *a;
{   
    return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):
        1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
        main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,
                "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
                ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
                q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
                    ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
                        iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
                                          ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')#\
                                          }'+}##(!!/")
                                          :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
                                          :0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,
                                          "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);
}
nj10-/home1/vpmg48<5>gcc c.c
c.c:2: parse error before `_'
c.c: In function `main':
c.c:3: declaration for parameter `a' but no such parameter
c.c:5: `t' undeclared (first use in this function)
c.c:5: (Each undeclared identifier is reported only once
c.c:5: for each function it appears in.)
c.c:5: `_' undeclared (first use in this function)
nj10-/home1/vpmg48<6>
作者: flw2    时间: 2007-07-26 12:23
原帖由 yjh777 于 2007-7-25 23:57 发表


您的这两个回复, 至少让我觉的CU里灌的水有些灌到你脑子里了;拜托表盲目崇拜,,


无论如何,我说仅仅限制为我了解的情况,而且我的猜想,不是结论,也仅限于现有的水平,当然我无法证明。我的意思是并不是随便拼能拼出来这种代码。
汗一个,没想到得罪了所有的人。
作者: flw2    时间: 2007-07-26 12:26
CU的人的水平你努力一下,给你点时间再给你锻炼的机会你就能达到了,这些是显而易见的嘛,非要我说出来,就这点破水平。显然,就算你无论如何努力,无论多少数学家在旁边指点你,你也不会是数学家,写这个代码有点  类  似。
作者: ivhb    时间: 2007-07-26 12:35
支持flw2的看法
作者: flw2    时间: 2007-07-26 12:49
原帖由 icydancer 于 2007-7-26 12:42 发表

世上 所有人的水平你努力以下,给你点时间再给你锻炼下你也能达到。人的潜力是无限的,关键是这时间,这锻炼的机会,或者你去做这件事值不值。还有就是你有足够的时间去做吗?

只要功夫深 铁锄磨成针 我倒是相信
只要功夫深,能把纽约移到上海我也相信,但是你说的我实在难以认同
作者: flw2    时间: 2007-07-26 12:57
哎,跑题了,所以还是不说了
一起努力吧
作者: niubi110    时间: 2007-07-26 14:57
不知道是什么原因,怎么里面会出现一长串aaaaaaaaaaaa啊?
作者: shubiao    时间: 2007-07-26 14:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: luojiannx    时间: 2007-07-26 16:44
人的能力是有限的

不要太天真了!

要写出这样的程序倒不是太困难

而有能力写编译器,操作系统内核的人则少之又少

99%的人给他100年的时间也达不到那些科学巨匠哪怕1/10的成就

上帝并不公平,普通的人是大多数,不要妄自菲薄,也不要盲目自负,能达到自己的极限就已经很不错了
作者: mar9212    时间: 2007-07-27 02:46
原帖由 luojiannx 于 2007-7-26 16:44 发表
人的能力是有限的

不要太天真了!

要写出这样的程序倒不是太困难

而有能力写编译器,操作系统内核的人则少之又少

99%的人给他100年的时间也达不到那些科学巨匠哪怕1/10的成就

上帝并不公平,普通 ...



认同。有些事就是只有天才才能做得到。
作者: ccjjhua    时间: 2007-07-27 10:58
用cc 编译能过,

[bssp@test02 ~/cjh/test]$ ./a.out 1 2 3

Pid 16915 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space,
or stack size exceeded maxssiz.
Segmentation fault (core dumped)

加参数执行有问题。
作者: liuxingyuyuni    时间: 2007-07-27 11:05
标题: N人啊.......
顶啊!
作者: newsecond    时间: 2007-07-27 11:45
哎 ..差距阿!!!!!!!!!!!努力
作者: Godbach    时间: 2007-07-27 13:26
UP
作者: honckly    时间: 2007-07-27 14:05
nh 差距啊。。。
作者: fcloudf    时间: 2007-07-27 14:54





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2