ACM 數論 威爾遜定理 hdu2973

2021-08-19 06:06:26 字數 669 閱讀 2151

這裡是題面

題解:這個階乘和(p-1)/p就想到了

威爾遜定理(p-1)!=p-1 (mod p)

當3*k+7為質數時:那麼(3*k+6)!+1/(3*k+7)就是整數temp,後面的就是小於temp的乙個數,取整即temp-1,答案就是1

當3*k+7為和數時:自己試一些數字進去,發現答案就是0或者0.x,取整後就是0

由此推斷得出結論

當3*k+7為質數,那麼答案要加一,否則不變.

**:

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

int maxn=3e6+10;

const

int k=1e6+5;

long

long n,m;

bool notprime[maxn];

vector

prime;

void get_prime()

}}int dp[k];

void solve()

}int main()

return

0;}

威爾遜定理

而要解這個問題,使用窮舉或暴搜的方法顯然不可取。若要優雅而巧妙地解決這個問題,就需要用到乙個關於素數的著名結論 威爾遜定理 wilson s theorem 十八世紀中葉,一位英國法官約翰 威爾遜爵士,發現了數論中一種極為罕見的關係 取從1到某個質數所有連續正整數的乘積,例如從1乘到11,即11的階...

數論學習四之 威爾遜定理

在介紹威爾遜定理之前,我們先給出乙個引理 如果p pp是素數,正整數a aa是其自身模p pp的逆,當且僅當a 1 mod p a equiv1 mod p a 1 mo dp 或者a 1 mo dp a equiv1 mod p a 1 m odp 證明 如果a 1 mod p a equiv1 ...

Fansblog 威爾遜定理

題意 給乙個質數 p 找小於 p 的最大質數 q 並求 q modp p,q epsilon 10 9,10 題解 威爾遜定理 乙個數 n 若是質數,則有 n 1 equiv n 1 mod n 於是可以先令 ans p 1 再對 p 1 到 q 的數對 p 求逆元。p 到 q 之間的距離不會超過3...