home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / C / ioccc / 1990 / theorem.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-10-18  |  1.5 KB  |  94 lines

  1. #include <stdio.h>
  2. #include <math.h>
  3. #define X
  4. #define Y {}
  5. #define C  }
  6. #define o {
  7. #undef main
  8. char m[500][99],v[99],R;
  9. int*a,b,n,i,j,W,A;
  10. float Q,G,D,M,T,B,O,U,V,N,y,e();
  11. P(g,R,u)float*g,R,u;{int c;for(*g=1,c=u;c--;*g*=R);}
  12. X
  13. K(g,R,u)float*g,u;char R;
  14. o
  15. if(R=='+')*g+=u;
  16. if(R=='-')*g-=u;
  17. if(R=='*')*g*=u;
  18. if(R=='/')*g/=u;
  19. if(R=='^')P(g,*g,u);
  20. C
  21. w(g,R,u)float*g,u;char R;
  22. /**/{int b,f;A=atoi(*++a);b=atoi(*++a);while((f=A+b)<15000){printf("%d\n",f);A=b;b=f;}}
  23. main(A,a)int A;char*a[];
  24. o o
  25. if(!strcmp(*++a,"-r"))S();
  26. D=atof(*++a);
  27. T=atof(*++a);
  28. B=atof(*++a);
  29. M=atof(*(4+(a-=3)));
  30. C
  31. while(D<T)
  32. o
  33. U=e((G=B/2,*a),D,M,a);
  34. V=e(*a,Q=D+G,M+G*U,a);
  35. /*/
  36. z;/*/
  37. N=2*e(*a,Q,M+G*V,a);
  38. M+=B*V/3+B*N/6+B*e(*a,D+=B,M+G*N,a)/6+G*U/3;
  39. printf("%f %f\n",D,M);
  40. C
  41. while(T=0)
  42. ;
  43. W=D=1;
  44. ;
  45. while(W!=1)
  46. o o
  47. strcpy(j+m,v);
  48. if((j-=W)<=W)break;
  49. strcpy(j+m,m+j-W);
  50. C
  51. while(strcmp(m+j-W,v)>0)
  52. j=i;
  53. strcpy(v,i+m);
  54. C
  55. for(i=(W/=3)-1;++i<n;)
  56. ;
  57. C
  58. do
  59. ;
  60. while(0);
  61. for(W=1;(W=W*3+1)<n;);
  62. C
  63. float e(f,D,M,a)char*f,*a[];float D,M;
  64. o
  65. #define main L
  66. O=0;
  67. R='+';
  68. for(;*f;f++)
  69. if(*f=='y')K(&O,R,M);
  70. else if((*f>='0')&&(*f<='9'))K(&O,R,(float)*f-'0');
  71. else if(*f=='x')K(&O,R,D);
  72. else if(1)R=*f;
  73. if(1);
  74. return O;
  75. for(j=0;j<n;puts(j++[m]));
  76. e("",O,&O,a);
  77. n=j-(O=1);
  78. while(gets(j++[m]));
  79. if(!strcmp(*++a,"-r"))S();
  80. C
  81. /**/main(A,a)int A;char*a[];
  82. Y
  83. S(){while(gets(b++[m]));for(b--;b--;puts(b[m]));}
  84. char*f,m[500][99],R,v[99];
  85. int b,W,n,i,j,z;
  86. float Q,G,D,M,T,O,B,U,V,N,e();
  87. #define Y
  88. #define X {}
  89. #define o }
  90. #define C {
  91. #include <stdio.h>
  92. #include <math.h>
  93.