ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges
 

Nombres de Bell             Programme JavaScript

Le programme ci-dessous recherche les nombres de Bell jusqu'au rang n donné par l'utilisateur. Les premiers nombres sont :

1, 1, 2, 5, 15, 52, 203, 877, 4140, 21147, 115975, 678570, 4213597, 27644437, ...

Programme JavaScript

  Le programme est très simple. Les fonctions comb() et fac() sont identiques à celles présentes dans le calcul des combinaisons à la page Blaise Pascal.

  Au-delà de 16 chiffres significatifs, on dépasse la capacité de traitement en nombres entiers du langage JavaScript. Les résultats n'on alors plus guère de sens, sinon un ordre de grandeur.



 
<SCRIPT LANGUAGE=JavaScript>
function bell()
{
var n,p
var B=new Array()
max=10;
max=eval(prompt("Entrez n max > 1 :",max))
if(max==null||max<=1) return
B[0]=1;B[1]=1;alert("B(0) = B(1) = 1.")
for (n=2;n<=max;n++)
{
B[n]=0;
for(k=0;k<=n-1;k++)
{
cnk=comb(n-1,k);B[n]=B[n]+cnk*B[k]
} // fin for k
alert("B("+n+") = "+B[n])

//if(!confirm("B("+n+") = "+B[np1]+". Je continue ?")) break
} // fin for n
}// fin bell

function fac(n)
{
if (n<=1){return 1};
f=1;
for(i=2;i<=n;i++){f=f*i}
return f
}

function comb(n,p)
{
if (n==p || p==0){return 1};
if (p==1){return n};
num=n/p;
for(i=1;i<=p-1;i++){num=num*(n-i)/i}
return Math.round(num)
}
</SCRIPT>


© Serge Mehl - www.chronomath.com