怎樣用pascal高精度運算求ab的精確值?要求精確

2022-02-19 14:24:05 字數 2850 閱讀 7714

1樓:我是大角度

精度就是這個小數的最小位數,在小數點後的第二十位,不管是後面有多少個零,也得有二十位。小數的位數越多,精度越高。

2樓:天蠍淺竹

小數點後保留20位數字

求free pascal用高精度加法運算的程式,我要完整的程式,而且要考慮小數點。(最好負數也有)

3樓:匿名使用者

program ex;var a,b,c:array[1..10000] of integer; s1,s2:

string; i,l1,l2,l:integer;begin readln(s1); readln(s2); l1:=length(s1); l2:

=length(s2); for i:=1 to 10000 do begin a[i]:=0;b[i]:

=0;c[i]:=0; end; for i:=1 to l1 do a[i]:

=ord(s1[l1+1-i])-48; for i:=1 to l2 do b[i]:=ord(s2[l2+1-i])-48; if l1>l2 then l:

=l1 else l:=l2; for i:=1 to l do begin c[i]:

=a[i]+b[i]+c[i]; c[i+1]:=c[i] div 10; c[i]:=c[i] mod 10; end; if c[l+1]=1 then begin inc(l); for i:

=l downto 1 do write(c[i]); end else for i:=l downto 1 do write(c[i]);end.

4樓:匿名使用者

高精負數加法=高精減法+高精加法+高精大小判斷

5樓:匿名使用者

樓上似乎沒有處理負數情況。

free pascal輸入正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。a,b<=10^6,c<=100

6樓:

var a,b:real;c:longint;

begin

readln(a,b,c);

if c=0 then begin

writeln(a/b:0:0);exit;

end;

write(trunc(a/b));

a:=a-trunc(a/b)*b;

write('.');

while c>1 do begin

a:=a*10;

write(trunc(a/b));

dec(c);

a:=a-trunc(a/b)*b;

end;

a:=a*10;

writeln(round(a/b));

end.

逐漸執行除法(模擬)。

我說樓上的怎麼這麼不負責任,pascal除法的精度根本沒有100位,直接加:0:c輸出不了20個小數,只有17位,何談100位。真是可悲。

7樓:匿名使用者

program ex;

vara,b:longint;

c:1..100;

begin

readln(a,b,c);

writeln(a/b:0:c);

end.

超簡潔的

選我吧易懂

解釋:writeln(a/b:0:c);

a/b:代表a/b的值

:c保留c位小數

注意::0與:c位置不能掉轉。

(其實:0我還不知道是什麼意思呢)

我發現如果不加:0就會變成科學計數法了...

加了:0才能轉化成正常小數

8樓:匿名使用者

vara,b:longint;

c:shortint;

begin

readln(a,b,c);

writeln(a/b:0:c);

end.水題

9樓:

程式(pascal):

vara,b:longint;

c:integer;

d:real;

begin

read(a,b,c); readln;

d:=a/b;

writeln(d:0:c);

end.

10樓:匿名使用者

你還是看4樓的吧,這題就坑在精度控制!

我學c++的,正好寫了這題

#include

#include

using namespace std;

int main()

;iz=a/b;

iy=a%b;

for(int i=1;i<=c+1;i++)else

}//處理四捨五入

c1=c;

if(store[c1+1]>=5)

else break;} }

//輸出控制

cout<

for(int i=1;i<=c;i++)cout<

cout<<(double)clock()/clocks_per_sec;

system("pause");}

pascal高精度除法的思想是什麼

思想 模擬除法豎式的計算方法 我個人的解釋,標準的我不太清楚 我記不清了。網上應該會有的。高精除高精可以轉換成 移位 然後 減法 來做 高精除低精 可以先把低精轉化成高精 然後按上面的方法做 參見 高精度除法可以這樣做 思想你自己會明白的 定義四個陣列 兩個整型 一個布林 一個實數型別1.用字串x,...

怎樣用matlab進行復數運算,matlab中兩個複數相乘怎樣實現

例如想用matlab將一個帶變數的複數式 5 i b 3 2i a 整理為實部 虛部的形式。則可版以用如下指權令 syms a b real z 5 i b 3 2i a real z imag z ans 15 2 b a 9 4 a 2 10 a 3 b 9 4 a 2 x 3 5 i y 7 ...

怎樣用鍵盤開機,怎樣用鍵盤開機

這個是主機板上bios的設定 在主機板bios裡面有這個選項 integrated peripherals 裡面有 power on function 這個 選擇 password 這個選項,然後在下面一個選項 kb power on passwoed 或者 hot key power on 看主機...