费马小定理+快速幂 为何T了两个点
查看原帖
费马小定理+快速幂 为何T了两个点
1244840
Fatsheep_110922楼主2024/8/4 23:06
 #include <iostream>
using namespace std;
typedef long long ll;
inline ll fpow(ll a, ll b, ll &p)
{
	if(b == 0) return 1;
	if(b == 1) return a;
	ll tmp = fpow(a, b/2, p)%p;
	if(b % 2) return tmp*tmp%p*a%p;
	return tmp*tmp%p;
}
inline ll q(ll a, ll p)
{
	return fpow(a, p-2, p);
}
int main()
{
	ll n, p;
	scanf("%lld%lld", &n, &p);
	for(int i = 1;i <= n;++i) printf("%lld\n", q(i, p));
	return 0;
}

2024/8/4 23:06
加载中...