SOJ 2668 C(n,k) 数论
来源:互联网 发布:神州数码通用软件 编辑:程序博客网 时间:2024/05/22 17:23
今天下午的测试题,求C(n,k) 的奇偶性,拼死没想出来,丢了100分啊qwq
在网上扒题,发现Soj上有
其实很简单,因为C(n,k)=n! / (k! * (n-k)!),所以只需要找到 n、k、n-k中质因数2的个数就行了
当然有更好的数学方法,参见:C(n,k)奇偶性
#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#define exp 1e-7using namespace std;int T,n,k;inline int log2(int x){return (int)(log(x)/log(2)+exp);}int cnt(int x){int cnt=0;for (int i=1;i<=log2(x);i++){cnt+=x/(1<<i);}return cnt;}int main(){while (1){scanf("%d%d",&n,&k);if (n==0 && k==0) break;int zi=cnt(n);int mu=cnt(k)+cnt(n-k);if (zi==mu) printf("1\n");else printf("0\n");}return 0;}
0 0
- SOJ 2668 C(n,k) 数论
- (Relax 数论1.16)POJ 2992 Divisors(C[N][K]中含素数的个数)
- C(n,k)
- SOJ-2704(组合数取余C(n, m))
- SOJ 3194: K-th
- SOJ 2666 分解n!
- SOJ-4075(n个数异或第k大的数)
- [数论] 51nod 1365 Fib(N) mod Fib(K)
- 组合数学 C(n,k)
- 【组合】C(n,k)的奇偶性
- 解题报告 之 SOJ2668 C(n,k)
- 【c语言】n 的k次方递归
- 啊啊啊求c(n,k)
- k个元素的子集 C(n,k)
- 数论专题训练K
- 关于 T(n) = a*T(n/b)+c*n^k;T(1) = c
- 【C/C++】用递归实现n的k次方
- 【数论】c
- 我的nas集群
- CSS3滚动视差效果的制作技巧
- PAT甲级练习题A1004. Counting Leaves
- linux入门使用(1)
- Translucent System Bar
- SOJ 2668 C(n,k) 数论
- Android中项目中集成百度地图
- 程序员的创业陷阱:接私活
- int数组为什么一般不能用memset初始化每个元素
- NYOJ 22 素数求和问题
- Mac Firefox vimperator
- JAVA中的反射机制
- python matplotlib绘图使用中文字体
- 创建和操作表