Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,60 @@
|
|||
(function () {
|
||||
var cache = [
|
||||
[1]
|
||||
];
|
||||
//this was never needed.
|
||||
/* function PyRange(start, end, step) {
|
||||
step = step || 1;
|
||||
if (!end) {
|
||||
end = start;
|
||||
start = 0;
|
||||
}
|
||||
var arr = [];
|
||||
for (var i = start; i < end; i += step) arr.push(i);
|
||||
return arr;
|
||||
}*/
|
||||
|
||||
function cumu(n) {
|
||||
var /*ra = PyRange(cache.length, n + 1),*/ //Seems there is a better version for this
|
||||
r, l, x, Aa, Mi;
|
||||
// for (ll in ra) { too pythony
|
||||
for (l=cache.length;l<n+1;l++) {
|
||||
r = [0];
|
||||
// l = ra[ll];
|
||||
// ran = PyRange(1, l + 1);
|
||||
// for (xx in ran) {
|
||||
for(x=1;x<l+1;x++){
|
||||
// x = ran[xx];
|
||||
r.push(r[r.length - 1] + (Aa = cache[l - x < 0 ? cache.length - (l - x) : l - x])[(Mi = Math.min(x, l - x)) < 0 ? Aa.length - Mi : Mi]);
|
||||
}
|
||||
cache.push(r);
|
||||
}
|
||||
return cache[n];
|
||||
}
|
||||
|
||||
function row(n) {
|
||||
var r = cumu(n),
|
||||
// rra = PyRange(n),
|
||||
leArray = [],
|
||||
i;
|
||||
// for (ii in rra) {
|
||||
for (i=0;i<n;i++) {
|
||||
// i = rra[ii];
|
||||
leArray.push(r[i + 1] - r[i]);
|
||||
}
|
||||
return leArray;
|
||||
}
|
||||
|
||||
console.log("Rows:");
|
||||
for (iterator = 1; iterator < 12; iterator++) {
|
||||
console.log(row(iterator));
|
||||
}
|
||||
|
||||
// PL clearly this was not tested:
|
||||
// console.log("Sums")[23, 123, 1234, 12345].foreach(function (a) {
|
||||
console.log("Sums");
|
||||
[23, 123, 1234, 12345].forEach(function (a) {
|
||||
var s = cumu(a);
|
||||
console.log(a, s[s.length - 1]);
|
||||
});
|
||||
})()
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
function genTriangle(n){ // O(n^3) time and O(n^2) space
|
||||
var a = new Array(n)
|
||||
|
||||
for (let i = 0; i < n; i++){
|
||||
a[i] = new Array(i+1)
|
||||
for (let j = 0; j < i; j++){
|
||||
a[i][j] = 0
|
||||
let s = i-j-1, k = Math.min(s, j)
|
||||
while (k >= 0) a[i][j] += a[s][k--]
|
||||
}
|
||||
a[i][i] = 1
|
||||
}
|
||||
|
||||
return a.map(x => x.join(" ")).join("\n")
|
||||
}
|
||||
|
||||
function G(n){ // At least O(n^2) time and O(n) space
|
||||
var a = new Array(n+1)
|
||||
a[0] = 1n
|
||||
|
||||
for (let i = 1; i <= n; i++){
|
||||
a[i] = 0n
|
||||
for (let k = 1, s = 1; s <= i;){
|
||||
a[i] += (k & 1 ? a[i-s]:-a[i-s])
|
||||
k > 0 ? (s += k, k = -k):(k = -k+1, s = k*(3*k-1)/2)
|
||||
}
|
||||
}
|
||||
|
||||
return a[n]
|
||||
}
|
||||
|
||||
console.log(genTriangle(25))
|
||||
console.log("")
|
||||
|
||||
for (const x of [23, 123, 1234, 12345]){
|
||||
console.log("G(" + x + ") = " + G(x))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue