傳送門
題意:
給出自然數 n,計算出 sn 的值,其中 [ x ]表示不大於 x 的最大整數。
題解:
根據威爾遜定理,如果 p 為素數,那麼 (p-1)! ≡ -1(mod p),即 (p-1)! + 1 = p*q.
令 f(k) =
①如果 3k+7 為素數,則 (3k+7-1)! ≡ -1(mod 3k+7),即 (3k+6)! = (3k+7)*q -1.
那麼表示式
可化簡為 [ (3k+7)*q / (3k+7) - 1 / (3k+7) ] = [ q - 1 / (3k+7)].
易得 q-1 < q - 1 / (3k+7) < q ,所以
=q-1,那麼 f(k)= q-(q-1) = 1.
②如果 3k+7 為合數,則 (3k+6)! 能被 (3k+7) 整除,f(k) = 0;
由此,本題轉化為求解k在[1,n]範圍內 (3k+7) 的素數個數。
對②的證明:
令p=a*b,(1view codeb)①若a!=b,則(p-1)!=1*2*..*a*..*b*..*(p-1),顯然 (a*b) | (p-1)!;
②若a==b且為素數,則當a>2時,a*b=a*a>2*a,
若p>4,則(p-1)! = 1*2*..*a*..*(2a)*..(p-1),同樣有(a*b)|(p-1)!;
綜上,如果p為合數,則 p | (p-1)!;
ac**:
1 #include2 #include3 #include4view codeusing
namespace
std;
5const
int maxn=1e6+10;6
7intn;8
int ans[maxn];//
ans[i]:[1,i]中,滿足 3k+7 為素數的整數個數910
bool isprime(int
num)
1118
void
primetable()
1924
intmain()
2534
return0;
35 }
ACM 數論 威爾遜定理 hdu2973
這裡是題面 題解 這個階乘和 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,取整...
HDU 威威貓系列故事 籃球夢
威威貓十分迷戀籃球比賽,是忠實的nba球迷,他常常幻想自己那肥碩的身軀也能飛起扣籃。另外,他對籃球教練工作也情有獨鍾,特別是對比賽的戰術,投籃選擇方面也是很有研究,下面就是威威貓研究過的乙個問題 一場nba籃球比賽總共48分鐘,假如我們現在已經知道當前比分 a b,a代表我方的比分,b代表對方的比分...
HDU 威威貓系列故事 籃球夢
problem description 威威貓十分迷戀籃球比賽,是忠實的nba球迷,他常常幻想自己那肥碩的身軀也能飛起扣籃。另外,他對籃球教練工作也情有獨鍾,特別是對比賽的戰術,投籃選擇方面也是很有研究,下面就是威威貓研究過的乙個問題 一場nba籃球比賽總共48分鐘,假如我們現在已經知道當前比分 a...