当前位置:网站首页>Find the combination number acwing 888 Find the combination number IV
Find the combination number acwing 888 Find the combination number IV
2022-07-05 06:24:00 【T_ Y_ F666】
Find the combination number AcWing 888. Find the combination number IV
Original link
AcWing 888. Find the combination number IV
Algorithm tags
Combinatorial mathematics Combination count High precision
Ideas
Code
#include<bits/stdc++.h>
#define int long long
#define abs fabs
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 5015;
int pr[N], st[N], s[N], cnt;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
void pri(int n){
rep(i, 2, n+1){
if(!st[i]){
pr[cnt++]=i;
}
for(int j=0; pr[j]<=n/i; ++j){
st[pr[j]*i]=true;
if(!(i%pr[j])){
break;
}
}
}
}
int get(int n, int p){
int res=0;
while(n){
res+=n/p;
n/=p;
}
return res;
}
vector<int> mul(vector<int> a, int b){
vector<int> c;
int t=0;
rep(i, 0, a.size()){
t+=a[i]*b;
c.push_back(t%10);
t/=10;
}
while(t){
c.push_back(t%10);
t/=10;
}
return c;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int a=read(), b=read();
pri(a);
rep(i, 0, cnt){
int p=pr[i];
s[i]=get(a, p)-get(a-b, p)-get(b, p);
}
vector<int> res;
res.push_back(1);
rep(i, 0, cnt){
rep(j, 0, s[i]){
res=mul(res, pr[i]);
}
}
Rep(i, res.size()-1, 0){
printf("%lld", res[i]);
}
}
Originality is not easy.
Reprint please indicate the source
If it helps you Don't forget to praise and support
边栏推荐
猜你喜欢
Sqlmap tutorial (II) practical skills I
5.Oracle-表空间
Leetcode-6110: number of incremental paths in the grid graph
Groupbykey() and reducebykey() and combinebykey() in spark
求组合数 AcWing 888. 求组合数 IV
Chapter 6 relational database theory
Redis-01.初识Redis
区间问题 AcWing 906. 区间分组
[2020]GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis
背包问题 AcWing 9. 分组背包问题
随机推荐
Leetcode-6109: number of people who know secrets
LeetCode 0108. Convert an ordered array into a binary search tree - the median of the array is the root, and the left and right of the median are the left and right subtrees respectively
博弈论 AcWing 894. 拆分-Nim游戏
Suppose a bank's ATM machine, which allows users to deposit and withdraw money. Now there is 200 yuan in an account, and both user a and user B have the right to deposit and withdraw money from this a
MySQL advanced part 2: SQL optimization
Leetcode-22: bracket generation
[rust notes] 17 concurrent (Part 1)
Records of some tools 2022
Leetcode dynamic programming
Leetcode-3: Longest substring without repeated characters
Alibaba established the enterprise digital intelligence service company "Lingyang" to focus on enterprise digital growth
2022-5-第四周日报
Redis-02.Redis命令
MySQL advanced part 1: View
【LeetCode】Day95-有效的数独&矩阵置零
[rust notes] 14 set (Part 1)
Leetcode stack related
LeetCode-61
[learning] database: MySQL query conditions have functions that lead to index failure. Establish functional indexes
Winter messenger 2