hdu 1098 多項式整除問題

2021-07-05 01:18:48 字數 807 閱讀 1272

理解題意:65|f(x) 意即 f(x)能被65整除

解題思路:

f(x)=5*x^13+13*x^5+k*a*x;由於x取任何值都需要能被65整除.假設f(x)成立的基礎上,證明f(x+1)也成立.那麼把f(x+1)展開(使用二項式),得到5*(  ( 13  0 )x^13 +  (13  1 ) x^12 ...... .....+(13  13)x^0)+13*(  ( 5  0 )x^5+(5  1 )x^4.....+ ( 5 5  )x^0  )+k*a*x+k*a;—這裡的( n  m)表示組合數,然後提取出5*x^13+13*x^5+k*a*x則f(x+1 ) = f (x) +  5*( (13  1 ) x^12 ....+(13  13) x^0  )+  13*(  (5  1 )x^4+.......+ ( 5  5  )x^0  )+k*a;很容易證明,除了5*(13  13) x^0 、13*( 5  5  )x^0 和k*a三項以外,其餘各項都能被65整除.那麼也只要求出18+k*a能被65整除就可以了.而f(1)也正好等於18+k*a則只要找到a,使得18+k*a能被65整除,也就解決了這個題目;第一點:當k%65=0時,18+k*a是永遠除不盡65的,第二點;k%65!=0 時,那麼我們就從1開始找a,不斷地嘗試18+k*a是否能除盡65,找到即止。當a==66時,也就是已經找了乙個週期了,在找下去也找不到適當的a了。

**:

#includeint main()

for(i=1;i<=65;i++)

}if(i>=66)

printf("no\n");

} return 0;

}

多項式問題之二 多項式除法

多項式求逆是多項式除法的基礎,如果你不會多項式求逆,請看這裡 問題 已知兩個多項式 f x 次數為n g x 次數為m 求兩個多項式 q x 與 r x 滿足 f x g x q x r x 所有運算在模998244353意義下進行 推一發式子 f x g x q x r x 用 frac 替代 x...

多項式問題之六 多項式快速冪

問題 已知乙個次數為 n 1 的多項式 f x 求乙個多項式 g x 滿足 g x equiv f x 這個.你需要多項式exp 直接推一發式子就可以了 g x equiv f x g x equiv e g x equiv e 這樣寫個多項式ln和多項式exp就可以了 include includ...

多項式相加問題

利用鍊錶,實現多項式之間的相加 includeusing namespace std define maxsize 100 define error 0 define ok 1 typedef struct node node,linklist void create linklist l,int ...