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...