June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,15 +1,20 @@
|
|||
Coded by Stanley Rabinowitz, 12 Vine Brook Road, Westford MA, 01886-4212.
|
||||
INTEGER VECT(3350),BUFFER(201)
|
||||
DATA VECT/3350*2/,MORE/0/
|
||||
DO 2 N = 1,201
|
||||
KARRAY = 0
|
||||
DO 3 L = 3350,1,-1
|
||||
NUM = 100000*VECT(L) + KARRAY*L
|
||||
KARRAY = NUM/(2*L - 1)
|
||||
3 VECT(L) = NUM - KARRAY*(2*L - 1)
|
||||
K = KARRAY/100000
|
||||
BUFFER(N) = MORE + K
|
||||
2 MORE = KARRAY - K*100000
|
||||
WRITE (*,100) BUFFER
|
||||
100 FORMAT (I2,"."/(1X,10I5.5))
|
||||
END
|
||||
program pi
|
||||
implicit none
|
||||
integer,dimension(3350) :: vect
|
||||
integer,dimension(201) :: buffer
|
||||
integer :: more,karray,num,k,l,n
|
||||
more = 0
|
||||
vect = 2
|
||||
do n = 1,201
|
||||
karray = 0
|
||||
do l = 3350,1,-1
|
||||
num = 100000*vect(l) + karray*l
|
||||
karray = num/(2*l - 1)
|
||||
vect(l) = num - karray*(2*l - 1)
|
||||
end do
|
||||
k = karray/100000
|
||||
buffer(n) = more + k
|
||||
more = karray - k*100000
|
||||
end do
|
||||
write (*,'(i2,"."/(1x,10i5.5))') buffer
|
||||
end program pi
|
||||
|
|
|
|||
25
Task/Pi/JavaScript/pi-1.js
Normal file
25
Task/Pi/JavaScript/pi-1.js
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
var BigInteger = require('jsbn').BigInteger;
|
||||
var bi = function(n, b) { return new BigInteger(n.toString(), b ? b : 10); };
|
||||
function calcPi() {
|
||||
var q=bi(1), r=bi(0), t=bi(1), k=bi(1), n=bi(3), l=bi(3);
|
||||
var one=bi(1), two=bi(2), three=bi(3), four=bi(4), seven=bi(7), ten=bi(10);
|
||||
while (true) {
|
||||
if (q.multiply(four).add(r).subtract(t).compareTo(n.multiply(t)) < 0) {
|
||||
process.stdout.write(n.toString());
|
||||
nr = (r.subtract(n.multiply(t))).multiply(ten);
|
||||
n = (q.multiply(three).add(r)).multiply(ten).divide(t).subtract(n.multiply(ten));
|
||||
q = q.multiply(ten);
|
||||
r = nr;
|
||||
} else {
|
||||
nr = q.shiftLeft(1).add(r).multiply(l);
|
||||
nn = q.multiply(k).multiply(seven).add(two).add(r.multiply(l)).divide(t.multiply(l));
|
||||
q = q.multiply(k);
|
||||
t = t.multiply(l);
|
||||
l = l.add(two);
|
||||
k = k.add(one);
|
||||
n = nn;
|
||||
r = nr;
|
||||
}
|
||||
}
|
||||
}
|
||||
calcPi();
|
||||
44
Task/Pi/JavaScript/pi-2.js
Normal file
44
Task/Pi/JavaScript/pi-2.js
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<html><head><script src='https://rawgit.com/andyperlitch/jsbn/v1.1.0/index.js'></script></head>
|
||||
<body style="width: 100%"><tt id="pi"></tt><tt>...</tt>
|
||||
<script async defer>
|
||||
function bi(n, b) { return new jsbn.BigInteger(n.toString(), b ? b : 10); };
|
||||
var one=bi(1), two=bi(2), three=bi(3), four=bi(4), seven=bi(7), ten=bi(10);
|
||||
function calcPi() {
|
||||
var q=bi(1), r=bi(0), t=bi(1), k=bi(1), n=bi(3), l=bi(3);
|
||||
var digit=0, firstrun=1;
|
||||
var p=document.getElementById('pi');
|
||||
function w(s) { p.appendChild(document.createTextNode(s));}
|
||||
function continueCalcPi(q, r, t, k, n, l) {
|
||||
while (true) {
|
||||
if (q.multiply(four).add(r).subtract(t).compareTo(n.multiply(t)) < 0) {
|
||||
w(n.toString());
|
||||
if (digit==0 && firstrun==1) { w('.'); firstrun=0; };
|
||||
digit = (digit+1) % 256;
|
||||
var nr = (r.subtract(n.multiply(t))).multiply(ten);
|
||||
n = (q.multiply(three).add(r)).multiply(ten).divide(t).subtract(n.multiply(ten));
|
||||
q = q.multiply(ten);
|
||||
r = nr;
|
||||
if (digit%8==0) {
|
||||
if (digit%64==0) {
|
||||
p.appendChild(document.createElement('br'));
|
||||
}
|
||||
w(' ');
|
||||
return setTimeout(function() { continueCalcPi(q, r, t, k, n, l); }, 50);
|
||||
};
|
||||
} else {
|
||||
var nr = q.shiftLeft(1).add(r).multiply(l);
|
||||
var nn = q.multiply(k).multiply(seven).add(two).add(r.multiply(l)).divide(t.multiply(l));
|
||||
q = q.multiply(k);
|
||||
t = t.multiply(l);
|
||||
l = l.add(two);
|
||||
k = k.add(one);
|
||||
n = nn;
|
||||
r = nr;
|
||||
}
|
||||
}
|
||||
}
|
||||
continueCalcPi(q, r, t, k, n, l);
|
||||
}
|
||||
calcPi();
|
||||
</script>
|
||||
</body></html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue