|
|
1.1 ! root 1: program powersoftwo(output); ! 2: const m = 30; n = 90; { m >= n*log(2) } ! 3: var exp,i,j,l: integer; ! 4: c,r,t: integer; ! 5: d: array [0..m] of integer; {positive powers} ! 6: f: array [1..n] of integer; {negative powers} ! 7: begin l := 0; r := 1; d[0] := 1; ! 8: writeln(wallclock); ! 9: for exp := 1 to n do ! 10: begin {compute and print 2**exp } c := 0; ! 11: for i := 0 to l do ! 12: begin t := 2*d[i] + c; ! 13: if t >= 10 then ! 14: begin d[i] := t-10; c := 1; ! 15: end ! 16: else ! 17: begin d[i] := t; c:= 0; ! 18: end ! 19: end ; ! 20: if c > 0 then ! 21: begin l := l+1; d[l] := 1 ! 22: end ; ! 23: for i := m downto l do write(' '); ! 24: for i := l downto 0 do write(d[i]:1); ! 25: write(exp:5, ' .'); ! 26: {compute and print 2**(-exp) } ! 27: for j := 1 to exp-1 do ! 28: begin r := 10*r + f[j]; ! 29: f[j] := r div 2; r := r - 2*f[j]; write(f[j]:1) ! 30: end ; ! 31: f[exp] := 5; writeln('5'); r := 0 ! 32: end ; ! 33: writeln(wallclock) ! 34: end .
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.