当前位置:网站首页>上课作业(7)——#598. 取余运算(mod)
上课作业(7)——#598. 取余运算(mod)
2022-08-01 05:53:00 【xyc20120615】
目录
Description
输入 b,p,k 的值,求 b^p mod k 的值。其中 b,p,k*k 为长整形数。
Format
Input
输入 3 个整数 b,p,k。
Output
求 b^p\ mod~ kbp mod k 的值。
Samples
输入数据 1
2 10 9
输出数据 1
2^10 mod 9=7
Limitation
1s, 1024KiB for each test case.
方法一:
用pow函数再加个取余运算直接快速求出答案,结果40分,数据超了最大类型的限额(unsigned long long)。
错误程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
long a,b,c;
unsigned long long ans;
cin>>a>>b>>c;
ans=pow(a,b);
ans%=c;
cout<<a<<'^'<<b<<" mod "<<c<<'='<<ans;
return 0;
}
方法二:
用快速幂并在while循环里穿插着取余运算的代码,因为还要输出原来的数据并且循环后数据会改变所以要先把输出的模板输出,最后再输出最终答案。
AC程序:
#include<bits/stdc++.h>
using namespace std;
long a,b,c;
unsigned long long ans=1;
int main(){
cin>>a>>b>>c;
cout<<a<<'^'<<b<<" mod "<<c<<'=';
while(b){
if(b%2==1){
ans*=a;
ans%=c;
}
b/=2;
a*=a;
a%=c;
}
ans%=c;
cout<<ans;
return 0;
}
边栏推荐
猜你喜欢
湖仓一体电商项目(一):项目背景和架构介绍
响应式织梦模板园林花卉类网站
MySQL-DML language-database operation language-insert-update-delete-truncate
响应式织梦模板园林景观类网站
企业员工人事管理系统(数据库课设)
Motion analysis and parameter optimization of crank-slider mechanism
Robot growth in China
第5章——以程序方式处理MySQL数据表的数据
【MySQL必知必会】 表的优化 | 充分利用系统资源
Dell PowerEdge Server R450 RAID Configuration Steps
随机推荐
曲柄滑块机构运动分析和参数优化
LeetCode 0150. 逆波兰表达式求值
解决浏览器滚动条导致的页面闪烁问题
Selenium: Manipulating Cookies
Compare two objects are the same depth
AspNet.WebApi.Owin 自定义Token请求参数
More than 2022 cattle guest school game 4 yue
JS的运行原理
What should I do if the neural network cannot be trained?
Induction jian hai JustFE 2022/07/29 team, I learned the efficient development summary (years)
Selenium:元素等待
Robot_Framework: keyword
Selenium: Introduction
CSP-S2019兴奋不已
return;代表含义
Robot_Framework:常用内置关键字
PaddleX部署推理模型和GUI界面测试结果不一致的解决方法
Seleniu: Common operations on elements
LeetCode 0149. Maximum number of points on a line
阿里云李飞飞:中国云数据库在很多主流技术创新上已经领先国外