马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 xiaosi4081 于 2022-11-22 10:14 编辑
大家好,今天是每周一练的第17期
这次的每周一练由我帮助用户@高山 发帖
(老开头了
上一期:第16期
题目名称:
乘法逆元
题目介绍:
给定 n, p 求 1~n 中所有整数在模 p 意义下的乘法逆元 这里 a 模 p 的乘法逆元定义为 ax≡1(modp) 的解 输出 #1 题目数据范围: 1≤n≤3×106,n<p<20000528 题目更多限制: 时间限制:500 ms 也就是说只能运算不上50000000次 题解: 最佳答案列表:
禁止抄题解!一旦发现,扣分!
温馨提示:这道题看似简单,其实思路有点难
本帖最后由 Jason茗 于 2022-11-25 22:14 编辑
我小学4年级就把初中数学全学完了,这不是初中数学的知识,这已经是高等数学了
我最近几天脑子都快不行了,边想这道题,边上网课
临时现学了模和乘法逆元
然后
做出来了!!!!!!!!!!
#include<bits/stdc++.h>
using namespace std;
long long i,n,p,f[zxsq-anti-bbcode-300000];
int main()
{
cin>>n>>p;
f[zxsq-anti-bbcode-1]=1;
cout<<f[zxsq-anti-bbcode-1]<<endl;
for(i=2;i<=n;i++)
{
f[zxsq-anti-bbcode-i]=((-p/i)*f[p%i]%p+p)%p;
cout<<f[zxsq-anti-bbcode-i]<<endl;
}
return 0;
}
|