看板 MATLAB 關於我們 聯絡資訊
在下matlab新手,想要先模擬小位數除法來寫大數運算的除法部分 程式跑的時候跑很久,一直在Busy有點貌似當機 附上新手的程式碼想請問到底是哪裏出了問題 > < Aa(1:6)=[0 6 3 1 2 0]; %被除數Aa=21360 Bb=[3 1]; %除數Bb=13 Al=length(Aa)-1; Bl=length(Bb); C_temp(1:Al-Bl+1)=0; %運算結果放入C_temp中 %-------------------- for i=(Al-Bl):-1:0; callback=Check(Aa,Bb,Bl,i); while callback==1; C_temp(i+1)=C_temp(i+1)+1; for k=1:Bl; Aa(i+k)=Aa(i+k)-Bb(k); if Aa(i+k)<0; Aa(i+k)=Aa(i+k)+10; Aa(i+k+1)=Aa(i+k+1)-1; end end end while callback==0; Aa(i+Bl-1)=Aa(i+Bl)*10+Aa(i+Bl-1); Aa(i+Bl)=0; end end %--------------------------------------------- function callback = Check( Aa,Bb,Bl,i ) callback=1; for j=Bl:-1:1; if Aa(i+j)>Bb(j); callback=1; break elseif Aa(i+j)==Bb(j); callback=1; else Aa(i+j)<Bb(j); callback=0; end end end 程式碼很粗淺,新手想不到更好的方法寫除法了= = 謝謝各位高手! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.82.20.116
x46824682x:不要用";"看他有沒有反應 09/03 23:01