传送门
这道题是组合数的知识,就是让我们求k个正整数加起来等于xx%1000的方案有多少种
由于我们是要找正整数,所以肯定不会有0,所以就把xx%1000用隔板法分成k份,这样得到就是C(k-1,xx%1000-1)
因为这个数范围比较大,所以我们需要高精度处理
AC代码如下:
#include<bits/stdc++.h>
using namespace std;
int c[100000];
template<typename T> T quick(T a,T b,T p) {
T ans=1;
a%=1000;
while(b) {
if(b&1)ans=ans*a%p;
a=a*a%p;
b>>=1;
}