Comète de Goldbach

Merci à @AngelArgalie# pour ses suggestions d'améliorations

Page en cours de rédaction...

La comète de Goldbach est le tracé de la fonction g(n) qui à un entier naturel pair n associe le nombre de façons de décomposer ce nombre comme une somme de nombres premiers.
Elle découle de la conjecture de Goldbach qui stipule que tout nombre entier pair supérieur à 2 peut s'écrire comme une somme de deux nombres premiers.

Sur cette page, vous trouverez les différentes itérations de mon implémentation de la comète de Goldbach

Version 1-"naïve":

Mon premier prototype.

		
function estPremier(n)
{
    //Renvoie 1 si n est premier, 0 sinon
    if(n<2){return false;}
    if(n%2==0&&n>2){return false;}
    for(let i=3;i<n/2;i+=2){
        if(n%i==0){
            return false;
        }
    }

    return true;
}
function goldbach(n,premiers)
{   
    /*A un nombre PAIR n strictement SUPERIEUR à 2, 
    on associe le nombre de façons de décomposer 
    ce nombre comme une somme de deux nombres premiers
    */
    let termes=0;

  
    for(let k=0;k<n/2+1;k++){
        if(estPremier(n-k)&&estPremier(k)){
            termes++;
            
        }
    }
    


    return termes;
}

const x1=c1.getContext("2d");
const TAILLE=c1.width;

let premiers=new Uint8Array(TAILLE);
for(let k=0;k<TAILLE;k++)
{
    if(estPremier(k)){
        premiers[k]=1;
    }
    else{
        premiers[k]=0;
    }
}
let X=0;
x1.fillRect(0,0,c1.width,c1.height);
x1.fillStyle="red";
function u1(){  
    for(let Y=0;Y<TAILLE/4;Y++){
        if(goldbach(X,premiers)==Y){
            x1.fillText("+",X,c1.height-Y*20);
        }
    }
    X+=2
    requestAnimationFrame(u1);
}
		
	

Cliquer dans le canevas pour lancer l'animation.

On s'aperçoit rapidement que plusieurs choses peuvent être améliorées:

Itération n°2:Crible d'Eratosthène pour le calcul des nombres premiers

Itération n°4:Optimisations algorithmiques diverses&Coloration par densité

2019 M.S.

Code formaté à l'aide de highlight.js