C(n, m) % MOD

C n m   %   ( 1 0 9 + 7 ) C^m_n\ \%\ (10^9+7)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD = 1e9 + 7;


ll inv(ll a) {
	return a == 1 ? 1 : (MOD-MOD/a) * inv(MOD%a) % MOD;
}


ll C(ll n, ll m) {
	if (m < 0) return 0;
	if (n < m) return 0;
	if (m > n - m) m = n - m;
	ll up = 1, down = 1;
	for (ll i = 0; i < m; i++) {
		up = up * (n - i) % MOD;
		down = down * (i + 1) % MOD;
	}
	return up * inv(down) % MOD;
}


int main() {
	cout << C(6, 3) << endl; // 20
	return 0;
}

Reference

  1. https://ac.nowcoder.com/acm/contest/view-submission?submissionId=40487972

猜你喜欢

转载自blog.csdn.net/qq_38943651/article/details/89081511
mod
今日推荐