xxxxxxxxxx
43
let seqsize = 1500;
let scale_x, scale_y;
function gcd(a, b) {
while(b) [a, b] = [b, a % b];
return a;
}
function A133058(size) {
let seq = [1, 1];
for(let n = 2; n < size; n++) {
let g = gcd(n, seq[n-1]);
seq[n] = g > 1 ? seq[n-1] / g : seq[n-1] + n + 1;
}
return seq;
}
function setup() {
createCanvas(800, 600);
noLoop();
scale_x = seqsize / width;
scale_y = seqsize *2 / height;
}
function draw() {
background(0);
stroke(255);
strokeWeight(1);
let seq = A133058(seqsize);
for(let x = 0; x < seqsize; x++) {
let y = seq[x];
point(x/scale_x, height - y/scale_y );
}
}