Prepared for New Acmer

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 6516    Accepted Submission(s): 2450
Problem Description
集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,眼下为止,对大家的表现相当惬意,首先是绝大部分队员的训练积极性非常高,其次,都非常遵守集训纪律,最后,老队员也起到了非常好的带头作用,这里特别感谢为这次DP专题练习赛提供题目和測试数据的集训队队长xhd同学.



特别高兴的是,尾随集训队训练的一批新队员表现很好,进步也比較显著,特别是训练态度大大超出我的预期,我敢说,假设各位能如此坚持下去,绝对前途无量!



考虑到新队员还没有经过系统训练,我这里特别加入一道简单题:

给定三个正整数A,B和C(A,B,C<=1000000),求A^B mod C的结果.



希望各位都能体会到比赛中AC的快乐,绝对的量身定制,非常高的待遇哟,呵呵...
 
Input
输入数据首先包括一个正整数N,表示測试实例的个数,然后是N行数据,每行包括三个正整数A,B,C。
 
Output
对每一个測试实例请输出计算后的结果,每一个实例的输出占一行。
 
Sample Input
3
2 3 4
3 3 5
4 4 6
 
Sample Output
0
2
4
 
Author
lcy
 
Source

题目分析:
求解这道题要先知道这个公式,(a*a)%c=((a%c)*(a%c))%c……公式1。



然后用降幂法,举样例详细说吧,



3^8=3^4*3^4=(3^2*3^2)*(3^2*3^2)=((3*3)*(3*3))*((3*3)*(3*3)),假设要求3^8%5,先求得3%5,

依据公式1就能依次求得3^2%5,3^4%5,3^8%5,这就是一个除2降幂的过程。



要注意的是某一次除2降幂可能幂变成奇数,这时要先拿出一个再降幂,

比方3^10=3^5*3^5(幂为5,是奇数)=(3^2*3^2*3)*(3^2*3^2*3)=……
摘自:
心得:
受益匪浅,学到东西了!
代码例如以下:
#include<stdio.h>
int main()
{
int i,n,a,b,c;
scanf("%d",&n);
while(n--)
{
__int64 temp,sum;
scanf("%d%d%d",&a,&b,&c);
sum=a%c;
temp=1;
while(b>1)//由于起初的时候,已经是a%c了所以已经是一次方了
{
if(b&1)//奇数的话,单独拉出来
{
temp*=sum;//temp用来存储奇数情况下的全部的乘积
temp%=c;
b--;//单独拉出来,次数减一
}
else
{
sum*=sum;//降幂法
sum%=c;
b/=2;//由于是变化后乘方,所以次方数减半
}
}
printf("%I64d\n",sum*temp%c);
}
return 0;
}

hdu 1420(Prepared for New Acmer)(中国剩余定理)(降幂法)的更多相关文章

  1. HDU 1420 Prepared for New Acmer【中国剩余定理】

    /* 解决问题的思路:中国剩余定理,还要注意的是数据的类型,要使用__int64位 解决人:lingnichong 解决时间:2014-08-30 06:56:35 :简单题 */ Prepared ...

  2. HDU(1420)Prepared for New Acmer(JAVA语言)【快速幂模板】

    思路:快速幂裸题. //注意用long,否则会超范围 Problem Description 集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相 ...

  3. hdu 1573 X问题【扩展中国剩余定理】

    扩展中国剩余定理的板子,合并完之后算一下范围内能取几个值即可(记得去掉0) #include<iostream> #include<cstdio> #include<cm ...

  4. HDOJ 1420 Prepared for New Acmer(DP)

    Problem Description 集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相当满意,首先是绝大部分队员的训练积极性很高,其次,都很 ...

  5. hdu 1370 || poj 1006 简单的中国剩余定理或者暴力

    Biorhythms Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Probl ...

  6. HDU 5768 Lucky7 (中国剩余定理 + 容斥 + 快速乘法)

    Lucky7 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 Description When ?? was born, seven crow ...

  7. HDU 5768 Lucky7 (中国剩余定理+容斥)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768 给你n个同余方程组,然后给你l,r,问你l,r中有多少数%7=0且%ai != bi. 比较明显 ...

  8. 【中国剩余定理】【容斥原理】【快速乘法】【数论】HDU 5768 Lucky7

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 题目大意: T组数据,求L~R中满足:1.是7的倍数,2.对n个素数有 %pi!=ai  的数 ...

  9. 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms

    题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...

随机推荐

  1. Swift - 使用导航条和导航条控制器来进行页面切换

    通过使用导航条(UINavigationBar)与导航条控制器(UINavigationController)可以方便的在主页面和多层子页面之间切换.下面通过一个简单“组件效果演示”的小例子来说明如何 ...

  2. ThinkPhp学习02

    原文:ThinkPhp学习02 一.什么是MVC                M -Model 编写model类 对数据进行操作 V -View  编写html文件,页面呈现 C -Controll ...

  3. UVA 10622 - Perfect P-th Powers(数论)

    UVA 10622 - Perfect P-th Powers 题目链接 题意:求n转化为b^p最大的p值 思路:对n分解质因子,然后取全部质因子个数的gcd就是答案,可是这题有个坑啊.就是输入的能够 ...

  4. 《转》如何成为一个牛逼的C/C++程序员?

    原地址:http://blog.csdn.net/langeldep/article/details/6333562 这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体 ...

  5. ios 上拉载入下拉刷新Dome

    为练手写了一个小的上拉载入很多其它下拉刷新的小的Dome . 没有太多的技术含量,仅仅是作为新手的启示用.是上一篇下拉载入的扩展.先看一下那个再看这个就easy非常多. Dome下载:http://d ...

  6. Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)

    原代码: <select id="edit-submitted-im-interesting-in" class="form-select required&quo ...

  7. Android经常使用开源组件汇总

    http://www.cnblogs.com/scige/p/3456790.html UI相关 图片 Android-Universal-Image-Loader:com.nostra13.univ ...

  8. ExtJs 设置GridPanel表格文本垂直居中

    业务场景,需要实现最终效果图如下: GridPanel代码如下配置: { xtype : 'grid', id : 'grid_jglb', frame : true, region : 'cente ...

  9. HTML5 Canvas 填充与描边(Fill And Stroke)

    HTML5 Canvas 填充与描边(Fill And Stroke) 演示HTML5 Canvas Fill 与Stroke文字效果,基于Canvas如何实 现纹理填充与描边. 一:颜色填充与描边 ...

  10. hdu2569(递推dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2569 分析: f(n),n个珠子的合格数:a(n),n个珠子,最后2个相同的合格数:b(n),n个珠子 ...