取余运算(mod,快速幂)
【题目描述】
输入b,p,k的值,求bpmodk的值。其中b,p,k×k为长整型数。
【输入】
输入b,p,k的值。
【输出】
求bpmodk的值。
【输入样例】
2 10 9
【输出样例】
2^10 mod 9=7
题目分析:
对于任何一个自然数b都有b=2*b/2+b%2;例如:19=2X9+1;所以,b19=b9+9+1=b9*b9*b;而b9还可以继续分解,所以最终的结束条件就是b0=1;这就是分治的思想。
这一段文字的代码实现是这样的:
int power(int a,int b)
{if(b==0) return 1;int temp=power(a,b/2);temp=temp*temp;if(b%2==1)temp*=a;return temp;
}
没错这就是快速幂,不过要算大数的话要吧int换成long long
完整代码:
#include<iostream>
using namespace std;
typedef long long ll;
int k;
int power(int,int);
int main()
{int b,m;cin>>b>>m>>k;cout<<b<<"^"<<m<<" mod "<<k<<"=";int shu=power(b%k,m);//取余是防止b过大这里取余不影响最后结果cout<<shu;return 0;
}
int power(int a,int b)
{if(b==0) return 1;int temp=power(a,b/2)%k;//这里取余也不影响结果temp=(temp*temp)%k;//同上if(b%2==1)temp*=a;return temp%k;//最后结果由题意要取余
}
取余运算(mod,快速幂)相关推荐
- 数论练习(1)——取余运算(快速幂)
1497 取余运算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 输入b,p,k的值,编程计算b ...
- 大数取模运算,快速幂取模运算
1.快速幂取模 http://www.cnblogs.com/yinger/archive/2011/06/08/2075043.html 快速幂取模就是在O(logn)内求出a^n mod b的值. ...
- 洛谷——P1226 取余运算||快速幂
P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出"b^ ...
- 洛谷 1226 取余运算||快速幂
洛谷 取余运算||快速幂 1226 其实比起楼下的大佬们,我主要是多了些位运算和讲解. 想法一: 直接输出 pow(b,q)%k 嗯~~勇气可嘉,但是看一眼数据范围(长整型)就会意识到,这个方法也许 ...
- 【数学】幂运算与快速幂取余
一.幂运算 1.幂的定义: 的幂就是多个相乘,记作,表示的次幂,即个相乘,我们把叫做底数,叫做指数. 2.幂的运算: 我们可以用公式将幂运算进行简化,公式如下: 3.求幂方法: (1). Python ...
- 取余运算||快速幂(洛谷-P1226)
题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出"b^p mod k=s" ...
- 信息学奥赛一本通 1326:【例7.5】 取余运算(mod)
[题目链接] ybt 1326:[例7.5] 取余运算(mod) [题目考点] 1. 快速幂 [解题思路] 快速幂算法,用到了分治思想. 如果指数为奇数,那么结果乘以当前的底数,指数除以2(整除运算) ...
- 信息学奥赛一本通(1326:【例7.5】 取余运算(mod))
1326:[例7.5] 取余运算(mod) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10443 通过数: 4787 [题目描述] 输入b,p,k的值 ...
- 1326:【例7.5】 取余运算(mod)
1326:[例7.5] 取余运算(mod) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 14599 通过数: 6748 [题目描述] 输入b,p,kb, ...
- java hash取余_为什么Java的hash表的长度一直是2的指数次幂?为什么这个(hash(h-1)=hash%h)位运算公式等价于取余运算?...
1.什么是hash表? 答:简单回答散列表,在hash结构散列(分散)存放的一种数据集结构. 2.如何散列排布,如何均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) ...
最新文章
- 解决list-style-type属性失效
- 【HDU】3441 Rotation
- JDBC之一:快速入门
- 深入学习SpringMVC以及学习总结
- Spark在文本统计中的简单应用
- server2012 asp odb数据原_异地服务器文件及数据库定时备份
- Android TextView文字横向自动滚动(跑马灯)
- 将多个markdown文件发布为一个html或pdf文件的方法梳理
- linux tr 命令_在Linux中使用tr命令玩角色
- RestClient操作文档
- 手机触摸屏有电阻屏和电容屏,有什么区别?
- 在微型计算机中,ram的特点是___.,2017计算机基础模拟试题「附答案」
- 2019.11.28
- 服务器kvm切换器怎么使用?
- mysql查询周边商铺_基于Mysql5.7实现查找附近的店铺
- 如何让百度搜到我的网站或博客-百度seo
- UVa1618 弱键
- 【ArcGIS】ArcGIS10中根据shapefile裁剪栅格影像
- 华硕T100 安装linux,华硕t100ha安装win10win8双系统安装全图解
- c++的3D游戏笔录-基于panda3d(2)
热门文章
- AndroidStudio 项目配NDK
- [NOI Online #3 提高组] 水壶
- GreenPlum无符号tinyint开发
- Linux自建steam饥荒服务器教程
- ThinkPHP5.0完全开发手册——调试模式
- 权限修饰符| 重写 和 重载之间的区别| super和this的区别|Object类|equals 和 ==的区别|多态|转型 cast的总结
- Qt-软件皮肤切换qss样式
- HDU - 6789
- preventDefault() 方法
- MacOS中MacPorts的安装和使用