您的位置:首页 > 科技 > IT业 > 专业制作证件哪里可以_合肥市城乡建设局网站_企业关键词推广_谷歌搜索优化seo

专业制作证件哪里可以_合肥市城乡建设局网站_企业关键词推广_谷歌搜索优化seo

2025/4/3 14:55:52 来源:https://blog.csdn.net/Eristic0618/article/details/146867120  浏览:    关键词:专业制作证件哪里可以_合肥市城乡建设局网站_企业关键词推广_谷歌搜索优化seo
专业制作证件哪里可以_合肥市城乡建设局网站_企业关键词推广_谷歌搜索优化seo

一、概念

快速幂是一种高效的指数运算,当指数范围过大时,通过位运算能够减少大量的计算次数

对于a^{b},我们通过将指数b转化为二进制数,就可以将a^{b}分解为许多的a^{2^{i}}(其中i是指数b中对应位为1的位数)

例如a^{13},我们可以将13转化为二进制的1101,然后就可以将a^{13}分解为:

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        a^{2^{0}}*a^{2^{2}}*a^{2^{3}}=a^{1}*a^{4}*a^{8}=a^{13}


二、例题

2.1 快速幂

875. 快速幂 - AcWing题库

代码:

#include <bits/stdc++.h>
using namespace std;#define int long longint n;signed main()
{cin >> n;for(int i = 0;i < n; i++){int a, b, p;cin >> a >> b >> p;int res = 1;while(b) //将b转二进制数,按位乘以对应的值{if(b & 1) //对应位为1res = res * a % p;a = a * a % p;b >>= 1; }cout << res << endl;}return 0;
}

2.2 快速幂求逆元 

876. 快速幂求逆元 - AcWing题库

关于乘法逆元的定义:

前提:

  • 整数b,m互质
  • 整数a满足b能够整除a

结论:若存在整数x满足\frac{a}{b}\equiv a*x(mod m),即\frac{a}{b}a*x对模数m同余,则x是b的逆元,记为b^{-1}

拓展——费马小定理:当模数m为质数时,b^{m-2}就是b的乘法逆元

可以看到题中模数p是质数,所以我们可以使用费马小定理求a模p的乘法逆元,就是a^{p-2}

但是p的范围很大,因此我们需要用快速幂

代码:

#include <bits/stdc++.h>
using namespace std;#define int long longint n;signed main()
{cin >> n;for(int i = 0;i < n; i++){int a, p;cin >> a >> p;if(a % p == 0) //不互质cout << "impossible" << endl;else{int t = p - 2; //费马小定理int res = 1;while(t) //快速幂{if(t & 1)res = res * a % p;a = a * a % p;t >>= 1;}cout << res << endl;}}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com