Home

 Logithèque

FX880P

Calcul de la racine carrée de 5 en multiprécision


Code

PRINT "Racine(5)"

INPUT "Nombre de chiffres ",N:N=INT((N+3)/4)

DIM S(N),A(N):FOR J=0 TO N:S(J)=0:A(J)=0:NEXT J:M=10000:A(0)=1

P=51842:R=0:FOR J=0 TO N:R=R*M+A(J):A(J)=INT(R/P):R=R-A(J)*P:NEXT J

K=0:I=2

2510 IF A(K)=0 THEN K=K+1:IF K>N THEN 2560 ELSE 2510

FOR J=K TO N:S(J)=S(J)+A(J):NEXT J

P=2*I-3:R=0:FOR J=N TO K STEP-1:R=R+P*A(J):A(J)=R-INT(R/M)*M:R=INT(R/M):NEXT J:A(K)=A(K)+R*M

P=51842*I:R=0:FOR J=K TO N:R=R*M+A(J):A(J)=INT(R/P):R=R-A(J)*P:NEXT J

PRINT STR$(I);:I=I+1:GOTO 2510

2560 R=0:FOR J=N TO 0 STEP-1:R=R+S(J):S(J)=R-INT(R/M)*M:R=INT(R/M):NEXT J

R=0:FOR J=N TO 1 STEP-1:S(J)=M-S(J)-R:R=1:NEXT J

P=161:R=0:FOR J=N TO 0 STEP-1:R=R+P*S(J):S(J)=R-INT(R/M)*M:R=INT(R/M):NEXT J:S(0)=S(0)+R*M

P=72:R=0:FOR J=0 TO N:R=R*M+S(J):S(J)=INT(R/P):R=R-S(J)*P:NEXT J

CLS:PRINT S(0):OR J=1 TO N

PRINT RIGHT$(STR$(S(J)/M),4);:NEXT J:PRINT "----"


Mode d'emploi

Les numéros de ligne ne sont présents dans le listing que lorsqu'utiles.

Lancer le programme, et entrer le nombre de décimales voulu (supérieur à 0).

Un compteur défile, puis le programme affiche la racine carrée de 5.


Mathématiques à l'oeuvre

Le croirez-vous ? Je ne me souviens plus du tout de l'algorithme !!!