Ciao ho ancora il mio problema questo è lo script per calcolare i quozienti di una frazione continua
%Calcolo q'_{i},r'_{i}
format rat
FC=input('inserire frazione continua')
QZ=[];
RST=[];
QZ(1)=floor(FC);
RST(1)=FC-QZ(1);
i=1;
%la vera condizione è resti(i)diverso da zero)
while(RST(i)>1e-3)
i=i+1
QZ(i)=fix(1/RST(i-1));
RST(i)=(sym(1)/sym(RST(i-1)))-sym(QZ(i));
RST(i)
end
QZ
la frazione che inserisco in input è 127099/891581
il vettore QZ giusto che dovrebbe calcolare è:[0,7,67,3,7,1,1,1,2,1,1,1,2]
e il vettore dei resti RST giusto è [202/1417 , 72/4847 ,603/1888, 79/603 , 50/79 ,29/50 , 21/29, 8/21 ,5/8,3/5, 2/3,1/2,0]
pero il realta il programma calcola
QZ=[0,7,67,3,7,1,1,1,2,1,1,1,1,1]
e
RST=[202/1417 , 72/4847 ,603/1888, 79/603 , 50/79 ,29/50 , 21/29, 8/21 ,5/8,3/5, 232953/349430 ,116477/232953, 116476/116477 ,5/582379]
quindi il problema sta nella 11-esima iterazione del while in cui mi calcola RST(11)=(5/3)-1 che invece di essere 2/3 esce fuori il numero 232953/349430 !!!!!!! come posso risolvere???
gRAzie in anticipo