cpp_lib

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub idat50me/cpp_lib

:warning: combinatorics/npr.cpp

Code

#pragma once

#ifndef call_include
#define call_include
#include <bits/stdc++.h>
using namespace std;
#endif

long long nPr(long long n, long long r, long long p = (1LL << 61) - 1) {
	if(n < r) return 0LL;

	long long res = 1LL;
	for(int i = 0; i < r; i++) (res *= (n - i)) %= p;
	return res;
}
#line 2 "combinatorics/npr.cpp"

#ifndef call_include
#define call_include
#include <bits/stdc++.h>
using namespace std;
#endif

long long nPr(long long n, long long r, long long p = (1LL << 61) - 1) {
	if(n < r) return 0LL;

	long long res = 1LL;
	for(int i = 0; i < r; i++) (res *= (n - i)) %= p;
	return res;
}
Back to top page