nyist 676 小明的求助
2013-11-16 21:48
162 查看
http://acm.nyist.net/JudgeOnline/problem.php?pid=676
难度:2
描述小明对数学很有兴趣,今天老师出了道作业题,让他求整数N的后M位,他瞬间感觉老师在作弄他,因为这是so easy! 当他看到第二道题目的时候,他就确定老师在捉弄他了,求出N^P的后M位,因为他不会了。你能帮他吗?
输入第一行包含一个整数T(T <= 1000),代表测试数据组数。
接下来的T行每行含三个整数,N,P,M(1 <= N <= 10^10,1 <= P <= 10^15,1 <= M <= 9)。输出输出格式“Case #i: ans”(不含引号),i表示第i组测试数据,ans为所求结果。样例输入
样例输出
来源NYIST第一届校赛(专业组)分析;快速幂。“蒙格马利”快速幂模算法。AC代码:
小明的求助
时间限制:2000 ms | 内存限制:65535 KB难度:2
描述小明对数学很有兴趣,今天老师出了道作业题,让他求整数N的后M位,他瞬间感觉老师在作弄他,因为这是so easy! 当他看到第二道题目的时候,他就确定老师在捉弄他了,求出N^P的后M位,因为他不会了。你能帮他吗?
输入第一行包含一个整数T(T <= 1000),代表测试数据组数。
接下来的T行每行含三个整数,N,P,M(1 <= N <= 10^10,1 <= P <= 10^15,1 <= M <= 9)。输出输出格式“Case #i: ans”(不含引号),i表示第i组测试数据,ans为所求结果。样例输入
2 2 4 1 3 7 2
样例输出
Case #1: 6 Case #2: 87
来源NYIST第一届校赛(专业组)分析;快速幂。“蒙格马利”快速幂模算法。AC代码:
#include<stdio.h> int main() { long long T,t,k,i,x,n,p,m; scanf("%lld",&T); for(t=1;t<=T;++t) { scanf("%lld%lld%lld",&n,&p,&m); k=1; for(i=1;i<=m;++i) k*=10; n=n%k; x=1; while(p>0) { if(p%2) x=(n*x)%k; p=p>>1; n=(n*n)%k; } printf("Case #%lld: %lld\n",t,x); } return 0; }
相关文章推荐
- nyoj-676-小明的求助
- nyoj_676_小明的求助_201312042142-2
- NYOJ-676小明的求助,快速幂求模,快速幂核心代码;
- NYOJ 676 小明的求助
- NYOJ 题目676 小明的求助(快速幂)
- nyoj——676 小明的求助
- nyoj676小明的求助
- NYOJ 676 小明的求助
- NYOJ 676 小明的求助
- NYOJ 676 小明的求助
- NYOJ 676 小明的求助 二分幂
- nyist-676
- nyist 604 小明的难题
- nyist 240 小明的调查统计(二)
- 小明的求助
- NYIST 擅长排列的小明
- nyist 52 无聊的小明
- nyist 49 开心的小明(01背包)
- 《C语言及程序设计》实践参考——小明借书
- hdu-4521 小明序列