zoukankan      html  css  js  c++  java
  • pku3219二项式系数

    1.统计因子2的个数

    借鉴一个数学方法:统计数为n的因子为i的个数(与下面所述等同)

    计算1~n之间包含一个因子i的个数的简单算法就是:
    cnt = 0; while (n) { n /= i; cnt += n; }

    代码如下:

    #include<stdio.h>
    int main()
    {
     int a,b,c,m,n,k;
     while(scanf("%d %d",&n,&k)==2)
     {
      m=n-k;a=b=c=0;
      while(n=n>>1) a+=n;
      while(m=m>>1) b+=m;
      while(k=k>>1) c+=k;
      if(a>b+c)
       printf("0\n");
      else
       printf("1\n");
     }
     return 0;
    }

    2.利用一个公式

    如果(N & k) == k,那么就是1,否则是0(看不懂

    先写在这边

    代码如下:

    #include<stdio.h>
    int main()
    {
     int n,k;
     while(scanf("%d %d",&n,&k)==2)
     {
      printf("%d\n",(n & k)== k?1:0);
     }
     return 0;
    }

    题目如下:

    二项式系数C(n, k)因它在组合数学中的重要性而被广泛地研究。二项式系数可以如下递归的定义:

    C(1, 0) = C(1, 1) = 1;
    C(n, 0) = 1对于所有n > 0;
    C(n, k) = C(n − 1, k − 1) + C(n − 1, k)对于所有0 < kn

    给出nk,你要确定C(n, k)的奇偶性。

  • 相关阅读:
    Java泛型 E、T、K、V、N
    二维码生成,二维码中嵌套图片,文字生成图片
    线程之线程安全解决
    多线程的卖票示例来理解两种创建线程方法的区别
    多线程
    Object类
    Runtime
    9.Lambda表达式入门
    匿名内部类
    局部内部类
  • 原文地址:https://www.cnblogs.com/pandy/p/1329767.html
Copyright © 2011-2022 走看看