JSFiddle - React, Tailwind, and code Playground

by Gothor

JavaScript

function Division(dividende, diviseur) {
    this.dividende = dividende;
    this.diviseur = diviseur;
    this.quotient = parseInt(dividende / diviseur);
    this.reste = dividende - diviseur * this.quotient;
};

function Puissance(nombre, puissance) {
    this.nombre = nombre;
    this.puissance = puissance;
};

var decompositionPrimaireDe = function(nombre) {
    var decomposition = new Array();
    var nombresPremiers = nombresPremiersJusqua(nombre);
    var nombreTmp = nombre;
    for (var i = 0; i < nombresPremiers.length && nombreTmp > 1; i++) {
        if (nombreTmp % nombresPremiers[i] == 0) {
            var diviseur = nombresPremiers[i];
            var puissanceDiviseur = 0;
            while (nombreTmp % nombresPremiers[i] == 0) {
                puissanceDiviseur++;
                nombreTmp = nombreTmp / nombresPremiers[i];
            }
            decomposition.push(new Puissance(diviseur, puissanceDiviseur));
        }
    }
    return decomposition;
};
    
var nombresPremiersJusqua = function(nombre) {
    nombre = parseInt(nombre);
    var nombresPremiers = new Array();
    for (var i = 2; i <= nombre; i++) {
        nombresPremiers.push(i);
    }
    i = 0;
    while (i < nombresPremiers.length) {
        var j = i + 1;
        while (j < nombresPremiers.length) {
            if (nombresPremiers[j] % nombresPremiers[i] == 0) {
                nombresPremiers.splice(j, 1);
                j--;
            }
            j++;
        }
        i++;
    }
    return nombresPremiers;
};

var estPremier = function(nombre) {
    var decomposition;
    if (!isNaN(nombre))
        decomposition = nombresPremiersJusqua(Math.sqrt(nombre));
    else if (nombre instanceof Array)
        decomposition = nombre;
    if (nombre < 2 || decomposition.length != 1 || decomposition[0].puissance != 1)
        return false;
    return true;
};
    
var indicatriceEuler = function(nombre) {
    var decomposition = decompositionPrimaireDe(nombre);
    if...