题解
2025-08-05 14:32:28
发布于:上海
17阅读
0回复
0点赞
#include <iostream>
using namespace std;
typedef long long ll;
long long n;
long long mi(ll a, ll b, ll p){
ll ans = 1, cheng = a, t = b;
while(t){
if(t % 2 == 1) ans *= cheng;
ans %= p;
cheng = (cheng * cheng) % p;
t /= 2;
}
return ans;
}
ll niyuan(ll i, ll p){
ll b = p - 2;
ll cheng = i, ans = 1;
while(b){
if(b % 2 == 1){
ans = ans * cheng % p;
}
cheng = cheng * cheng % p;
b /= 2;
}
return ans;
}
int main(){
ll p;
cin >> n >> p;
for(int i=1; i<=n; i++){
cout << niyuan(i, p) << " ";
}
return 0;
}
全部评论 1
mi()函数没用上,可以不管
2025-08-05 来自 上海
0好评。
2025-08-07 来自 上海
0
有帮助,赞一个