挑戰程式設計解題報告 2 6 3快速冪運算

2021-07-15 04:31:53 字數 755 閱讀 5142

題意介紹了一種理論即費馬小定理,費馬小定理指出若p是乙個素數,那麼對於任意的整數a(a > 1),都有ap

=a (mod p),通俗的講就是a的p次方對p取餘結果是a,這道題問的是費馬小定理的逆定理,但是逆定理不一定成立,有少部分資料,不是乙個素數,但是滿足ap

=a (mod p),稱這些數字為基於a的偽素數,實際上這個思想也是公尺勒羅蘋大素數檢測的核心思想,那麼這道題的思路就很簡單了,先判斷p是不是素數,然後計算快速冪取模。可以說是一道裸的模板題。

**如下:

templatet pow_mod(t x, t n, t mod)

return res;

}bool prime(int p)

int main()

return 0;

}

這道題的也是裸的模板題,意思就是求(a1

b1+a2

b2+ ... +ah

bh)mod m 實際上根據公式(a + b ) % c == (a % c + b % c) % c,把上式轉換為許多個快速冪取模,最後對再來一次求模即可。

**如下:

ll pow_mod(ll x, ll n, ll mod)

return res;

}int main()

cout << ans % mod << endl;

}return 0;

}

程式設計實驗 期末模擬 解題報告

1001 題目大意 搜尋某個數字在一串數中第一次出現的位置,如果沒有則輸出 1 解題思路 簡單的搜尋題,直接遍歷整個陣列,如下 includeint main 1004 題目大意 檢驗字串是否合法 解題思路 逐位判斷 include includeint valid char s int main ...

快速冪運算 《挑戰程式設計競賽》

2018 3 1 這裡我就對數進行說明,並沒有對矩陣進行求解。求x n,其中n是乙個比較大的數如果用一般的方法的話,我們會直接進行累乘即可,時間複雜度是o n 但是這個好像並不能滿足我們的要求,我們來分析一下 n的二進位制表示是這樣的,n t1 2 k1 t2 2 k2 t3 2 k3 其中k1,k...

2008湘潭大學程式設計比賽解題報告

blog不能貼附件,有需要題目,測試資料和solution的可以去群空間裡下,或者發email給我。a.排名計算 難度 中等 長度 中 模擬題,主要就是乙個排序,由於測試資料不大,不用快排也不會超時。注意一下排序方法和排名輸出就可以了。b.xtucpc 難度 容易 長度 短 簡單的字串處理,這個題目...