
编程技巧
iuhiuh
这个作者很懒,什么都没留下…
展开
-
求一个数的相反数算法
求一个数的相反数算法(inverse to X modulo (1 (相反数的定义是:求Y 使(X * Y) mod (1 /* */param x X:inverse to X modulo (1 */param mod MOD:inverse to X modulo (1 */return the inverse number */static unsigned long invers原创 2007-01-16 17:21:00 · 5451 阅读 · 0 评论 -
一个短小精悍的算Pi的程序
#includelong a=10000,b=0,c=2800,d,e,f[2801],g; void main() { for(;b!=c;) { f[b]=a/5; b++; } for(; d=0,g=c*2; c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);原创 2007-01-16 17:30:00 · 1425 阅读 · 0 评论 -
藏在代码里的“ILoveYou”
这个源代码非常简短,仅有一行:main(_){for(--_;putchar(_++["J!Mpwf!Zpv/1"]-1););}注意:这是一个C语言程序,如果用VC++编译,扩展名要保存为.C,否则编译不通过。分析一下,其实是等价于下面更易懂得形式:main(){ int i=1; char data[]="J!Mpwf!Zpv/1"; for(--i; putchar(dat原创 2007-01-16 17:44:00 · 2004 阅读 · 0 评论 -
John Carmark密码:0x5f3759df
有人在Quake III的源代码里面发现这么一段用来求平方根的代码: /*================SquareRootFloat================*/ float SquareRootFloat(float number) { long i; float x, y; const float f = 1.5F; x = number * 0.5F转载 2007-01-16 17:12:00 · 2093 阅读 · 0 评论 -
一个能输出自身程序。
#include char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";main(){printf(s,34,s,34);}这个程序的输出和自身代码完全相同(不包括include语句)。很佩服原作者的创造力。转载 2007-01-16 17:49:00 · 952 阅读 · 0 评论