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