当前位置: 首页 > news >正文

广州网页制作设计营销seo图片优化

广州网页制作设计营销,seo图片优化,网络营销的常用策略,手机网站怎么导入微信题目 求 a a a 的 b b b 次方对 p p p 取模的值。 输入格式 三个整数 a , b , p , a,b,p, a,b,p, 在同一行用空格隔开。 输出格式 输出一个整数,表示 a^b mod p 的值。 数据范围 0 ≤ a , b ≤ 1 0 9 0≤a,b≤10^9 0≤a,b≤109 1 ≤ p ≤ 1 0 9 1≤p≤10^…

题目

a a a b b b 次方对 p p p 取模的值。

输入格式

三个整数 a , b , p , a,b,p, a,b,p, 在同一行用空格隔开。

输出格式

输出一个整数,表示 a^b mod p 的值。

数据范围

0 ≤ a , b ≤ 1 0 9 0≤a,b≤10^9 0a,b109

1 ≤ p ≤ 1 0 9 1≤p≤10^9 1p109

输入样例

3 2 7

输出样例

2

思路

快速幂

任何一个整数都可以唯一表示为若干指数不重复的 2 的次幂的和。即是说如果 b b b 在二进制表示下 k k k 位,其中第 i ( 0 ≤ i ≤ k ) i(0 \le i \le k) i(0ik) 位的数字是 c i c_i ci,那么:
b = c k − 1 2 k − 1 + c k − 2 2 k − 2 + . . . + c 0 2 0 b = c_{k-1}2^{k-1} + c_{k-2}2^{k-2} + ... + c_0 2^0 b=ck12k1+ck22k2+...+c020
于是
a b = a c k − 1 × 2 k − 1 ∗ a c k − 2 × 2 k − 2 ∗ . . . ∗ a c 0 × 2 0 a ^b = a^{c_{k-1}\times2^{k-1}} * a^{c_{k-2} \times 2^{k-2}} * ... * a^{c_0 \times 2^0} ab=ack1×2k1ack2×2k2...ac0×20
因为 k = ⌈ l o g 2 ( b + 1 ) ⌉ k = \lceil log_2(b+1) \rceil k=log2(b+1)⌉,所以上式乘积项的数量不多于 k = ⌈ l o g 2 ( b + 1 ) ⌉ k = \lceil log_2(b+1) \rceil k=log2(b+1)⌉ 个。又因为:
a 2 i = ( a 2 i − 1 ) 2 a^{2^i} = (a^{2^{i-1}})^2 a2i=(a2i1)2
所以可以通过 k k k 次递归求出每个乘积项,当 c i = 1 c_i = 1 ci=1 时,将该乘积项累积到答案中。KaTeX parse error: Expected 'EOF', got '&' at position 3: b &̲ 1 运算可以取出 b b b 在二进制表示下的最低位,而 b > > 1 b >> 1 b>>1 运算可以舍去最低位,在递推过程中将二者集合,就可以遍历 b b b 在二进制表示下的所有数位 c i c_i ci

整个算法的时间复杂度为 O ( l o g 2 b ) O(log_2b) O(log2b)

代码

#include <cstdio>using namespace std;int main() {int a, b, p;scanf("%d%d%d", &a, &b, &p);int ans = 1 % p;while (b) {if (b & 1) ans = (long long)ans * a % p;b >>= 1;a = (long long)a * a % p;}printf("%d\n", ans);return 0;
}

注意

在 C++ 语言中,两个数值执行算术运算时,以参与运算的最高数值类型为基准,与保存结果的变量类型无关。换言之,虽然两个 32 位整数的乘积可能超过 int 类型的表示范围,但是 CPU 只会用 1 个 32 位寄存器保存结果,造成越界现象。因此,必须把其中一个数强制转换成 64 位整数类型 long long 参与运算,从而得到正确的结果。最终对 p p p 取模以后,执行赋值操作时,该结果会被隐式转换成 int 存回 ans 中。

http://www.khdw.cn/news/47662.html

相关文章:

  • 传奇私服网站怎么做每日关键词搜索排行
  • html导航栏模板推推蛙seo
  • 百度站长收录跨境电商培训机构哪个靠谱
  • 网站手机端做app开发工具页面设计漂亮的网站
  • 网站自适应怎么做google浏览器下载安装
  • 惠州模板做网站seo网站推广报价
  • 新增备案 网站名字网络营销做得比较成功的案例
  • 北京移动网站建设公司排名推广平台app
  • 深圳网站建设 迈东莞关键词seo优化
  • 南京建设监理协会网站打不开站长工具seo客户端
  • 网易那个自己做游戏的网站是什么原因网页制作免费模板
  • 怎么按照屏幕比例做网站适应专业关键词排名优化软件
  • 深圳大型商城网站建设seo职位招聘
  • 做任务赚q币网站宁德市疫情最新消息
  • 网页作业班级网站怎么做镇江网站制作公司
  • 抓取网站url刷百度关键词排名优化
  • 创建公司网站内容总结武汉seo关键字优化
  • 昆明优化网站公司免费发布广告信息平台
  • 看一个网站是用什么语言做的西安百度推广代理商
  • 万网做的网站咋样广州优化公司哪家好
  • web浏览器下载安装重庆企业网站排名优化
  • 泉州网站页面设计公司seo外包多少钱
  • 如何查询网站是不是asp做的白山网络推广
  • wordpress 增删改查 函数重庆网站seo公司
  • 玉田县建设工程招标网站seo自动点击排名
  • 洛阳做网站公司地址北京整站线上推广优化
  • wordpress制作左侧边栏seo排名点击手机
  • 深圳做网站公司华seo关键词找29火星软件
  • 云南做网站公司哪家好关键词优化包含
  • 做淘口令网站西安seo包年服务