Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
11
Task/Pi/JavaScript/pi-1.js
Normal file
11
Task/Pi/JavaScript/pi-1.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
let q = 1n, r = 180n, t = 60n, i = 2n;
|
||||
for (;;) {
|
||||
let y = (q*(27n*i-12n)+5n*r)/(5n*t);
|
||||
let u = 3n*(3n*i+1n)*(3n*i+2n);
|
||||
r = 10n*u*(q*(5n*i-2n)+r-y*t);
|
||||
q = 10n*q*i*(2n*i-1n);
|
||||
t = t*u;
|
||||
i = i+1n;
|
||||
process.stdout.write(y.toString());
|
||||
if (i === 3n) { process.stdout.write('.'); }
|
||||
}
|
||||
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>
|
||||
48
Task/Pi/JavaScript/pi-3.js
Normal file
48
Task/Pi/JavaScript/pi-3.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body style="width: 100%">
|
||||
<tt id="pi"></tt>
|
||||
<tt>...</tt>
|
||||
<script async defer>
|
||||
function calcPi() {
|
||||
let q=1n, r=0n, t=1n, k=1n, n=3n, l=3n, nr, nn, digit=0, firstrun=1;
|
||||
const p=document.getElementById('pi');
|
||||
function w(s) { p.appendChild(document.createTextNode(s));}
|
||||
// function continueCalcPi(q, r, t, k, n, l) { // (see note)
|
||||
function continueCalcPi() {
|
||||
while (true) {
|
||||
if (q*4n+r-t < n*t) {
|
||||
w(n.toString());
|
||||
if (digit==0 && firstrun==1) { w('.'); firstrun=0; };
|
||||
digit = (digit+1) % 256;
|
||||
nr = (r-n*t)*10n;
|
||||
n = (q*3n+r)*10n/t-n*10n;
|
||||
q *= 10n;
|
||||
r = nr;
|
||||
if (digit%8==0) {
|
||||
if (digit%64==0) {
|
||||
p.appendChild(document.createElement('br'));
|
||||
}
|
||||
w('\xA0');
|
||||
// return setTimeout(function() { continueCalcPi(q, r, t, k, n, l); }, 50);
|
||||
return setTimeout(continueCalcPi, 50);
|
||||
};
|
||||
} else {
|
||||
nr = (q*2n+r)*l;
|
||||
nn = (q*k*7n+2n+r*l)/(t*l);
|
||||
q *= k;
|
||||
t *= l;
|
||||
l += 2n;
|
||||
k += 1n;
|
||||
n = nn;
|
||||
r = nr;
|
||||
}
|
||||
}
|
||||
}
|
||||
continueCalcPi(q, r, t, k, n, l);
|
||||
}
|
||||
calcPi();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
14
Task/Pi/JavaScript/pi-4.js
Normal file
14
Task/Pi/JavaScript/pi-4.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
var calcPi = function() {
|
||||
var n = 20000;
|
||||
var pi = 0;
|
||||
for (var i = 0; i < n; i++) {
|
||||
var temp = 4 / (i*2+1);
|
||||
if (i % 2 == 0) {
|
||||
pi += temp;
|
||||
}
|
||||
else {
|
||||
pi -= temp;
|
||||
}
|
||||
}
|
||||
return pi;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue