pta l2 18(多項式A除以B)

2022-08-21 19:30:09 字數 1304 閱讀 5984

題意:給定兩個多項式,求出其做除法運算的商和餘數。

思路:記下除數、被除數的最大指數,按照多項式除法的演算法模擬即可,要注意的是這裡的捨入操作是四捨五入,而不是向下取整,還有浮點運算存在誤差,比如對浮點數f進行判零操作應該:abs(f)<0.0000001,因為你初始化f=0,在計算機中實際可能存的是0.00...01。

ac**:

1 #include2

using

namespace

std;34

const

int maxn=100005;5

intm1,m2,n,t1,t2,n1,n2;

6double

cc;7

double

c1[maxn],c2[maxn],c3[maxn];89

intmain()

16 scanf("

%d",&n);

17for(int i=0;ii)

22for(int i=m1;i>=m2;--i)

23if(c1[i]<=-0.0000001||c1[i]>=0.0000001)29

for(int i=m1-m2;i>=0;--i)

30if(abs(c3[i])+0.05>=0.1

)31 ++n1;

32for(int i=m2-1;i>=0;--i)

33if(abs(c1[i])+0.05>=0.1

)34 ++n2;

35 printf("%d"

,n1);

36if(!n1)

37 printf("

0 0.0");

38for(int i=m1-m2;i>=0;--i)

39if(abs(c3[i])+0.05>=0.1

)40 printf("

%d %.1f

",i,c3[i]);

41 printf("

\n%d

",n2);

42if(!n2)

43 printf("

0 0.0");

44for(int i=m2-1;i>=0;--i)

45if(abs(c1[i])+0.05>=0.1

)46 printf("

%d %.1f

",i,c1[i]);

47 printf("\n"

);48

return0;

49 }

7 10 多項式A除以B(25 分)

7 10 多項式a除以b 25 分 這仍然是一道關於a b的題,只不過a和b都換成了多項式。你需要計算兩個多項式相除的商q和餘r,其中r的階數必須小於b的階數。輸入分兩行,每行給出乙個非零多項式,先給出a,再給出b。每行的格式如下 n e 1 c 1 e n c n 其中n是該多項式非零項的個數,e...

L2 018 多項式A除以B (25 分)

l2 018 多項式a除以b 25 分 這仍然是一道關於a b的題,只不過a和b都換成了多項式。你需要計算兩個多項式相除的商q和餘r,其中r的階數必須小於b的階數。輸入分兩行,每行給出乙個非零多項式,先給出a,再給出b。每行的格式如下 n e 1 c 1 e n c n 其中n是該多項式非零項的個數...

天梯團隊賽 L2 018 多項式A除以B

這仍然是一道關於a b的題,只不過a和b都換成了多項式。你需要計算兩個多項式相除的商q和餘r,其中r的階數必須小於b的階數。輸入格式 輸入分兩行,每行給出乙個非零多項式,先給出a,再給出b。每行的格式如下 n e 1 c 1 e n c n 其中n是該多項式非零項的個數,e i 是第i個非零項的指數...