码迷,mamicode.com
首页 > 其他好文 > 详细

排列组合

时间:2019-02-10 12:10:59      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:分析   play   while   排列组合   不重复   pac   推广   i++   turn   

排列:有序且不重复:\(P_n^m=A_n^m=\frac{n!}{(n-m)!}\)
组合:无序且不重复:\(C_n^m=\frac{n!}{(n-m)!m!}\)
推广:二项式定理
\[(x+y)^n=C_n^0x^ny^0+C_n^1x^{n-1}y^1+?+C_n^{n-1}x^1y^{n-1}+C_n^nx^0y^n=\sum_{k=0}^nC_n^kx^{n-k}y^k=\sum_{k=0}^nC_n^kx^ky^{n-k}\]
其中二次项系数符合杨辉三角
\(\sum_{k=0}^{n}C_n^{k}\)\(k\) 为偶数):
分析:在二项式定理中,取\(x=1,y=1\)\(x=1,y=-1\)
则:
\[(1+1)^n=C_n^01^n1^0+C_n^11^{n-1}1^1+?+C_n^{n-1}1^11^{n-1}+C_n^n1^01^n=\sum_{i=0}^{n}C_n^i=2^n\]
\[(1-1)^n=C_n^0-C_n^1+?+(-1)^nC_n^n=\sum_{i=0}^{n}(-1)^iC_n^i\]
两式相加,得\(\sum_{k=0}^{n}C_n^{k}=2^{n-1}\)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n;
long long ans();
int main()
{
    int t; scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        scanf("%d",&n);
        printf("%lld\n",ans());
    }
    return 0;
}
long long ans()
{
    int sum=0;
    for(int i=2;i<=n;i++)
        while(n%i==0)
        {
            n/=i; sum++;
        }
    if(sum) return sum;
    else return 1;
}

排列组合

标签:分析   play   while   排列组合   不重复   pac   推广   i++   turn   

原文地址:https://www.cnblogs.com/ezsyshx/p/10358743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!