CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】
题目链接:传送门 //a^b
传送门 //64位整数乘法
题目:
描述 求 a 的 b 次方对 p 取模的值,其中 ≤a,b,p≤^
输入格式 三个用空格隔开的整数a,b和p。
输出格式 一个整数,表示a^b mod p的值。
样例输入 样例输出
模板:(快速幂)
#include <bits/stdc++.h>
using namespace std;
int fpow(int a, int b, int p) {
int ans = ;
for (; b; b >>= ) {
if (b&)
ans = (1LL * ans * a) % p;
a = (1LL * a * a) % p;
}
return ans%p;
}
int main()
{
int a, b, p;
cin >> a >> b >> p;
int ans = fpow(a, b, p);
cout << ans << endl;
return ;
}
题目:
描述 求 a 乘 b 对 p 取模的值,其中 ≤a,b,p≤^。
输入格式 第一行a,第二行b,第三行p。
输出格式 一个整数,表示a*b mod p的值。
样例输入 样例输出
模板:(快速乘)
#include <bits/stdc++.h> using namespace std;
typedef long long ll; ll fmul(ll a, ll b, ll p)
{
ll ans = ;
for (; b; b >>= ) {
if (b&)
ans = (ans + a) % p;
a = (a+a)%p;
}
return ans%p;
} int main()
{
ll a, b, p;
cin >> a >> b >> p;
ll ans = fmul(a, b, p);
cout << ans << endl;
return ;
}
CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】的更多相关文章
- CH0101 a^b & CH0102 64位整数乘法
大数取模的两道题. 虐狗宝典学习笔记: 两个数值执行算术运算时,以参与运算的最高数值类型为基准,与保存结果的变量类型无关.两个32位整数的成绩可能超过int类型的表示范围,但是CPU只会用一个32位寄 ...
- CH0102 64位整数乘法 数论
正解:数论/一个神仙想法 解题报告: 先放传送门qwq 两种方法,都还挺妙的就都写了qwq 第一种是快速幂 把b用二进制表示成,ck*2k+ck-1*2k-1+...+c0*20 然后就可以表示成,a ...
- CH 0101 - a^b / CH 0102 - 64位整数乘法 - [快速幂和快速乘]
0101 a^b 题目链接:传送门 描述 求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤10^9 输入格式 三个用空格隔开的整数 a,b 和 p. 输出格式 一个整数,表示 a^b mo ...
- AcWing 90. 64位整数乘法
求a*b%p的值. 0<a,b,p<1e18; 原题链接 #include<bits/stdc++.h> #define ull unsigned long long usin ...
- C++的64位整数
在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647.而unsig ...
- C/C++中的64位整数
C/C++中的64位整数(__int64 and long long) 在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31, ...
- windows 64位整数
#include <iostream> #include <ctime> using namespace std; int main() { cout << cou ...
- 快速幂&快速乘法
尽管快速幂与快速乘法好像扯不上什么关系,但是东西不是很多,就一起整理到这里吧 快速幂思想就是将ax看作x个a相乘,用now记录当前答案,然后将指数每次除以2,然后将当前答案平方,如果x的2进制最后一位 ...
- hdu 5187 zhx's contest [ 找规律 + 快速幂 + 快速乘法 || Java ]
传送门 zhx's contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
随机推荐
- linux 添加php gd扩展 (linux添加PHP扩展)
首先最基本的 第一:先安装库 yum -y install libjpeglibjpeg-devel libpng libpng-devel freetype freetype-devel 第二:进入 ...
- linux命令--文件查询
ls [ -lahid ] [ /* ] ls -- 默认查询当前目录下的显性文件 -l -- 显示文件的详细信息 -a -- 显示所有文件(包括隐藏文件) -h -- 文件大小显示为 ...
- QuickStart系列:docker部署之redis
在centos7的docker中部署 redis,这里只介绍 单节点的部署. docker run -p 6379:6379 -v $PWD/data:/data -d redis:latest re ...
- 使用DDMS查看设备内的文件系统
system文件系统存储了一些系统相关的文件 system/app里面是系统自带的应用程序 system/fonts里面存放的是系统自带的字体 system/frameworks里面存放的是系统的一些 ...
- python全栈开发笔记--------条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. Py ...
- js 动态绑定鼠标事件
<script> function getElementsByClassName(n) { var classElements = [],allElements = document.ge ...
- 前端基础之JavaScript进阶
一.流程控制 if - else var a = 10; if (a >5){ console.log("yes"); }else { console.log("n ...
- Aimbat安装
1:Pysmo下的sac和aimbat需要放在和前面的toolkits 相同的地方,Python就能找到: 在安装obspy时,需要装yum-plugin-copr; 方法在网址: https://c ...
- CodeForces - 631C (截取法)
C. Report time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...
- Gym - 100989M(dp)
George met AbdelKader in the corridor of the CS department busy trying to fix a group of incorrect e ...