当前位置:网站首页>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
边栏推荐
- 7.Oracle-表结构
- [learning] database: MySQL query conditions have functions that lead to index failure. Establish functional indexes
- [wustctf2020] plain_ WP
- How to generate an image from text on fly at runtime
- Client use of Argo CD installation
- Nested method, calculation attribute is not applicable, use methods
- [2021]IBRNet: Learning Multi-View Image-Based Rendering Qianqian
- 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
- LeetCode-61
- 1.13 - RISC/CISC
猜你喜欢
2.Oracle-数据文件的添加及管理
2021apmcm post game Summary - edge detection
International Open Source firmware Foundation (osff) organization
20220213-CTF MISC-a_ good_ Idea (use of stegsolve tool) -2017_ Dating_ in_ Singapore
Bit of MySQL_ OR、BIT_ Count function
Leetcode-6108: decrypt messages
Leetcode-6110: number of incremental paths in the grid graph
高斯消元 AcWing 884. 高斯消元解异或线性方程组
ADG5412FBRUZ-RL7应用 双电源模拟开关和多路复用器IC
Alibaba established the enterprise digital intelligence service company "Lingyang" to focus on enterprise digital growth
随机推荐
7.Oracle-表结构
4. 对象映射 - Mapping.Mapster
C job interview - casting and comparing - C job interview - casting and comparing
[BMZCTF-pwn] ectf-2014 seddit
Quickly use Amazon memorydb and build your own redis memory database
1.13 - RISC/CISC
our solution
Nested method, calculation attribute is not applicable, use methods
Sum of three terms (construction)
New title of module a of "PanYun Cup" secondary vocational network security skills competition
Niu Mei's math problems
How to generate an image from text on fly at runtime
MySQL advanced part 1: View
Redis-01.初识Redis
Leetcode-1200: minimum absolute difference
Leetcode-9: palindromes
MySQL advanced part 2: the use of indexes
SQL三种连接:内连接、外连接、交叉连接
[rust notes] 17 concurrent (Part 1)
MatrixDB v4.5.0 重磅发布,全新推出 MARS2 存储引擎!