|

楼主 |
发表于 2004-1-4 21:22:37
|
显示全部楼层
- 1 float s=1944,x[5],y[5],z[5],r[5],j,h,a,b,d,e;
- 2 int i=33,c,l,f=1;
- 3 int g(){
- 4 // return f=(f*6478+1)%65346;
- 5 return f=(f*6478)%65346;
- 6 }
- 7
- 8 m(){
- 9 x[i]=g()-l;
- 10 y[i]=(g()-l)/4;
- 11 r[i]=g()>>4;
- 12 }
- 13
- 14 main()
- 15 {
- 16 char t[1948]=" `MYmtw%FFlj%Jqig~%`jqig~Etsqnsj3stb",*p=t+3,*k="3tjlq9TX";
- 17 l=s*20;
- 18 while(i<s)
- 19 p[i++]='\n'+5;
- 20 for(i=0;i<5;i++)
- 21 z[i]=(i?z[i-1]:0)+l/3+!m();
- 22
- 23 while(1)
- 24 {
- 25 for(c=33;c<s;c++)
- 26 {
- 27 c+=!((c+1)%81);
- 28 j=c/s-.5;
- 29 h=c%81/40.0-1;
- 30 p[c]=37;
- 31 for(i=4;i+1;i--)
- 32 if((b=
- 33 (a=h*x[i]+j*y[i]+z[i])
- 34 *a-(d=1+j*j+h*h)
- 35 *(-r[i]*r[i]+x[i]*x[i]+y[i]*y[i]+z[i]*z[i])
- 36 )>0)
- 37 {
- 38 for(e=b;e*e>b*1.01||e*e<b*.99;e-=.5*(e*e-b)/e);
- 39 p[c]=k[(int)(8*e/d/r[i])];
- 40 }
- 41 }
- 42 for(i=4;i+1;z[i]-=s/2,i--)
- 43 z[i]=z[i]<0?l*2+!m():z[i];
- 44 while(i<s)
- 45 putchar(t[i++]-5);
- 46 }
- 47 }
复制代码 |
|