|
Bien qu'en ColdFusion, il existe une fonction «Sqr» permettant de calculer la racine carré,
il peut quand même être amusant d'effectuer se genre de calcul nous même.
Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci:
<CFSCRIPT>
function SquareRoot(X) {
var A = 0;
var B = 0;
var M = 0;
var XN = 0;
if(X EQ 0.0) {
return 0.0;
} else {
M=1.0;
XN=X;
while(XN GTE 2.0) {
XN=0.25*XN;
M=2.0*M;
}
while(XN LT 0.5) {
XN=4.0*XN;
M=0.5*M;
}
A=XN;
B=1.0-XN;
do {
A=A*(1.0+0.5*B);
B=0.25*(3.0+B)*B*B;
} while(B GTE 1.0E-15);
return A*M;
}
}
R=2.0;
while(R LTE 1000.0) {
WriteOutput("Sqrt(" & R & ")=" & SquareRoot(R) & "<BR>");
R=R*R;
}
</CFSCRIPT>
|
on obtiendra le résultat suivant:
Sqrt(2)= 1.41421
Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000
|
|
|
| Dernière mise à jour: Mardi, le 7 février 2006 |