Rechercher un outil sur dCode.fr


Editeur Javascript

JavaScript est un langage de programmation de scripts principalement utilisé pour les pages web interactives. Il est possible de le programmer directement depuis une page web.

dCode est ton ami !

Plus aucun jeu, plus aucune énigme, plus aucune chasse au trésor ne vous résisteront.

Ecrire à l'auteur de dCode

Editeur Javascript

Editeur


Le programme inclut une bibliothèque de calcul en précision arbitraire BigInt. Exemple :

x = new BigInt("1234567890123456789012345678901234567890"); // déclaration y = new BigInt("0x123456789abcdef0123456789abcdef"); // déclaration z = x.clone(); z = bigint_uminus(x); z = bigint_plus(x, y); // addition z = bigint_minus(x, y); // soustraction z = bigint_mul(x, y); // multiplication z = bigint_div(x, y); // division z = bigint_mod(x, y); // modulo cmp = bigint_cmp(x, y); // comparaison renvoie -1,0,1 num = bigint_number(x); // conversion en nombre (entier ou flottant)

Fonctions utiles

Algèbre

function est_premier1(n) { if (n == 2 || n == 3) return 1; if (n%2 == 0) return 0; if (n%3 == 0) return 0; var limite = Math.sqrt(n); var pas = 2; for(var i=5; i<=limite; i+=pas, pas=6-pas) { if (n%i == 0) return 0; } return 1; } function pgcd(a,b) { if (b==0) return a; else return pgcd(b,a%b); } function ppcm(a,b) { return (a*b)/pgcd(a,b); } function base_convert(number, frombase, tobase) { return parseInt(number+'', frombase+0).toString(tobase+0); } function factorial(n) { if (n < 2) return 1; else return n * factorial(n-1); } function bigint_factorial(n) { if (n < 2) return 1; else return bigint_mul(n,bigint_factorial(n-1)); } function decomposition_facteurs_premiers(n) { var diviseurs = []; while (n%2==0) { diviseurs.push(2); n = n/2; } while (n%3==0) { diviseurs.push(3); n = n/3; } var limite = Math.sqrt(n); var pas = 2; for(var i=5; i<=limite; i+=pas, pas=6-pas) { while (n%i==0) { diviseurs.push(i); n = n/i; limite = Math.sqrt(n); } } if (n > 1) diviseurs.push(n); return diviseurs; } function nombre_diviseurs(n) { if (n == 1) return 1; var d = decomposition_facteurs_premiers(n); var nb = 1; var prec = d[0]; var p = 1; for (var i = 1; i < d.length; i++) { if (prec == d[i]) p++; else { nb *= (p+1); p = 1; } prec = d[i]; } nb *= (p+1); return nb; } function liste_diviseurs(n) { var limite = Math.sqrt(n); var diviseurs = new Array(); diviseurs.push(1); for (var i = 2; i < limite; i++) { if (n%i==0) { diviseurs.push(i); diviseurs.push(n/i); } } if (i == limite) diviseurs.push(i); diviseurs.sort(function(a,b){return a - b}); return diviseurs; }

Listes

function somme(liste) { var somme = 0; for (var i in liste) { somme += parseInt(liste[i]); } return somme; } function somme_carre(liste) { var somme = 0; for (var i in liste) { somme += Math.pow(liste[i],2); } return somme; } function produit(liste) { var produit = 1; for (var i in liste) { produit *= parseInt(liste[i]); } return produit; } function range(/*[start,] stop[, step]*/) { if (!arguments.length) { return []; } var min, max, step; if (arguments.length == 1) { min = 0; max = arguments[0]-1; step = 1; } else { min = arguments[0]; max = arguments[1]-1; step = arguments[2] || 1; } if (step < 0 && min >= max) { step *= -1; var tmp = min; min = max; max = tmp; min += ((max-min) % step); } var a = []; for (var i = min; i <= max; i += step) { a[i] = i; } return a; } function melanger (liste) { for (var j, x, i = liste.length; i; j = parseInt(Math.random() * i), x = liste[--i], liste[i] = liste[j], liste[j] = x); return liste; }

Divers

function somme_chiffres(n) { n = n.toString(); var longueur = n.length; var somme = parseInt(n[0]); for (var i=1; i < longueur; i++) { somme += parseInt(n[i]); } return somme; } function est_palindrome(n) { n = n.toString(); var longueur = n.length; var moitie = longueur / 2; for (i=0; i <= moitie; i++) { if (n[i] != n[longueur-i-1]) return 0; } return 1; } function fibonacci(n) { var phi = (1+Math.sqrt(5))/2; return Math.round(Math.pow(phi,n)/Math.sqrt(5),0); } function collatz(n) { if (n%2 == 0) return n/2; return 3*n+1; } function collatz_temps_vol(n) { var nb = 1; while (n != 1) { n = collatz(n); nb++; } return nb; } function est_bissextile(annee) { if (annee%4 == 0) { if (annee0 != 0) { return true; } else { if (annee@0 == 0) return true; else return false; } } return false; }

Commentaires


Menu

Outils similaires

Recommander



Mots-clés

Liens


© 2012 dcode.fr — Le site indispensable pour résoudre les énigmes, les jeux et les chasses au trésor. dCode