[Luogu 3414]SAC#1 - 組合數
阿新 • • 發佈:2017-10-17
clu ima cin com typedef -1 ont std 技術
Description
辣雞蒟蒻SOL是一個傻逼,他居然覺得數很萌!
今天他萌上了組合數。現在他很想知道simga(C(n,i))是多少;其中C是組合數(即C(n,i)表示n個物品無順序選取i個的方案數),i取從0到n所有偶數。
由於答案可能很大,請輸出答案對6662333的余數。
Input
輸入僅包含一個整數n。
Output
輸出一個整數,即為答案。
Sample Input
3
Sample Output
4
Hint
對於20%的數據,n <= 20;
對於50%的數據,n <= 1000;
對於100%的數據,n <= 1 000 000 000 000 000 000 (10^18)
1、2、
3、
證明:由當$a = b = 1$時,代入二項式定理可證明$1$式; 當$a = -1$,$b = 1$時代入二項式定理可證明$2$式;代入$a = 1$,$b = -1$可得到另一個意義相同的式子; $(1式+2式) \over 2$可證明$3$式。
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 using namespace std; 6 typedef long long lol; 7 lol n,Mod=6662333; 8 lol qpow(lol x,lol y) 9 { 10 lol res=1; 11 while (y) 12 { 13 if (y&1) res=res*x%Mod; 14 x=x*x%Mod; 15 y=y/2; 16 } 17 return res; 18 } 19 int main() 20 { 21 cin>>n; 22 printf("%lld\n",qpow(2,n-1)); 23 }
[Luogu 3414]SAC#1 - 組合數