卢卡斯
2021/7/13 6:07:56
本文主要是介绍卢卡斯,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
先给一份洛谷模板题的代码
#include<bits/stdc++.h> using namespace std; #define lowbit(x) x&-x #define ll long long #define pii pair<ll,ll> #define dob double #define For(i,s,n) for(ll i = s;i <= n;i++) #define mem0(a) memset(a,0,sizeof a) #define gcd(a,b) __gcd(a,b) #define lcm(a,b) a/gcd(a,b)*b const int N = 2e5+50; const double eps = 1e-6; const ll mod = 998244353; ll p; ll fac[N]; ll f_pow(ll a,ll b){ ll res = 1; while(b){ if(b&1) res = res%p*a%p%p; a = a%p*a%p%p; b>>=1; } return res; } void init(){ fac[0] = 1; for(ll i = 1;i <= p;i++)fac[i] = fac[i-1]*i%p; } ll C(ll n,ll m){ if(m > n) return 0; return fac[n]*f_pow(fac[m],p-2)%p*f_pow(fac[n-m],p-2)%p; } ll Lucas(ll n,ll m){ if(m == 0) return 1; return Lucas(n/p,m/p)*C(n%p,m%p)%p; } int main(){ //ios::sync_with_stdio(false); ll t;cin>>t; while(t--){ ll n,m; cin>>n>>m>>p; init(); cout<<Lucas(n+m,n)<<endl; } return 0; }
这篇关于卢卡斯的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-16基于Java+Springboot+Vue开发的体育用品商城管理系统
- 2024-09-16基于Java+Springboot+Vue开发的口腔牙科诊所预约管理系统
- 2024-09-16如何基于Java解析国密数字证书
- 2024-09-15Spring Boot项目开发教程:快速入门与实战指南
- 2024-09-15单点登录实战:入门级指南与实操详解
- 2024-09-15登录校验实战:从零构建安全登录系统
- 2024-09-15Java知识库系统学习:从零开始的编程之旅
- 2024-09-15JAVA知识库系统学习:从零基础到入门的全面指南
- 2024-09-15Java主流技术学习:从入门到进阶的实用指南
- 2024-09-15JAVA主流技术学习:从入门到提升