hpuoj【1037】一个简单的数学题 【数学】&&【快速幂】
2017-07-25 16:04
225 查看
1037: 一个简单的数学题 [数学]
时间限制: 1 Sec 内存限制:128 MB
提交: 251 解决:
38 统计
题目描述
小明想要知道$a^b$的值,但是这个值会非常的大。所以退而求其次,小明想让你帮他求出来$(a^b) \% c$的值。
输入
第一行为一个数$n$,表示有$n$组数据。每组数据有三个整数$a$,$b$,$c$。
$1 \leq a,b,c \leq 50000$
$1 \leq n \leq 1100$
输出
每组数据有一行输出:输出$(a^b) \%c $。
样例输入
2 2 3 3 2 3 2
样例输出
2 0
对于本题,如果先计算a^b,很可能会超时,需要使用快速幂算法。
a^b%c=[(a^2)^(b/2)]%c b是偶数;
a^b%c=[(a^2)^(b/2)*a]%c b是奇数;
#include<cstdio> int main() { int t; scanf("%d",&t); while(t--) { int a,b,c,d=1; scanf("%d%d%d",&a,&b,&c); a=a%c; while(b>0) { if(b%2==1) d=(d*a)%c; b/=2; a=(a*a)%c; } printf("%d\n",d); } return 0; }
相关文章推荐
- hpuoj 【1037】一个简单的数学题【同余定理】
- 【Head First Servlets and JSP】笔记6:什么是响应首部 & 快速搭建一个简单的测试环境
- 实现一个快速简单的SimpleListDialog<T>
- 【React Native】一个简单的拆分Bundle&资源做法
- 使用MapGuide Open Source2.1 & Maestro快速搭建一个基本的WebGIS(二)
- Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏
- C语言 实现一个简单的Shell (支持管道和"cd")
- 推荐一个Markdown数学公式编辑器——Haroopad & Mathjax
- MyEclipse2014快速配置Spring & Spring Testing, Spring AOP简单使用
- QQ昵称我最"炫"----“移花接木”在QQ上的一个简单应用
- 教你快速掌握一个简单的Oracle定时任务
- ORAC RAC NTP时间服务器 配置 RVF-5436 : 在一个或多个节点上运行的 NTP 守护程序缺少快速定向选项 "-x"
- UIWebView——>一个简单的网页加载
- 实现一个简单的网页(缩略词表、文献来源链接、快速访问键列表)
- .Net Windows服务(一):VS快速创建一个简单Windows服务
- 一个简单的PHP&MYSQL留言板源码
- 如何快速搭建一个简单图像搜索引擎
- 杭电1037——Keep on Truckin'(简单题)
- .Net MVC&&datatables.js&&bootstrap做一个界面的CRUD有多简单
- nyoj1110 一个简单数学题