排列组合各函数集合
2024-12-03 08:55:09
发布于:北京
排列组合函数模板
#include<bits/stdc++.h>//CH夸克U出品
using namespace std;
long long f(int n)//阶乘
{
long long sum=1;
for(int i=1;i<=n;i++)sum*=i;
return sum;
}
long long a(int n,int m)//排列数
{
long long sum=1;
sum=f(n)/f(n-m);
return sum;
}
long long c(int n,int m)//组合数
{
long long sum=1;
sum=a(n,m)/a(m,m);
return sum;
}
long long bint(int a,int b,int n)//二项式定理
{
long long sum=0;
for(int i=0;i<=n;i++)
{
long long p=0;
p=c(n,i)*(long long)(pow(a,n-i))*(long long)(pow(b,i));
sum+=p;
}
return sum;
}
long long big_bint(int n)//二项式定理最大系数
{
return c(n,(n/2));
}
long long error_c(int n)//错排问题
{
long long d[10005];
d[1]=0,d[2]=1;
for(int i=3;i<=n;i++)
{
d[i]=(i-1)*(d[n-1]+d[n-2]);
}
return d[n];
}
long long feipo(int n)//斐波那契数列
{
long long fp[10005];
fp[1]=fp[2]=1;
for(int i=3;i<=n;i++)
{
fp[i]=fp[i-1]+fp[i-2];
}
return fp[n];
}
这里空空如也
有帮助,赞一个