描述:

求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”。

输入:

输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。

输出:

对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。

样例输入:

2 3

12 6

6789 10000

0 0

样例输出:

8

         984

         1

傻瓜代码如下(非快速幂):

 #include<cstdio>
int main()
{
int a,b;
int k=;
while(scanf("%d %d",&a,&b)!=EOF&&(a!=&&b!=)){
for(int i=;i<=b;i++){
k*=a;
k%=;
}
printf("%d\n",k);
k=;
} return ;
}

快速幂代码:

 #include<cstdio>
int fastpow(int a,int b,int kkk){
int ans=;
while(b > ){
if(b & ){
ans = ans*a%kkk;
}
b >>= ;
a= a*a%kkk;
}
return ans;
}
int main()
{
int a,b;
int sum;
while(scanf("%d %d",&a,&b)!=EOF&&(a!=&&b!=)){
sum = fastpow(a,b,);
printf("%d\n",sum);
} return ;
}

解题思路(快速幂):

(11的二进制是1011.即11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1。

备忘录位运算:右移一位相当于除2.左移一位相当于乘2)

本题正式思路:while循环就是控制当b为0的时候循环结束。if语句就是使用按位与“&”,当两边都为1,表达式为1,这个是用来判断二进制数最后一位是否为1。如果为1,ans就要乘x^i,i为该位在二进制数中的位置。>>为位运算符,右移一位,即去掉已经计算过的部分。最后的a= a*a%kkk;用来标记记录x^2^i,循环i次即去掉了i位,当第i+1位为1时,sum就要乘x^2^i。~

 

HDU2035 人见人爱A^B(快速幂)的更多相关文章

  1. 杭电 2035 人见人爱A^B【快速幂取模】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035 解题思路:这一题数据不大,可以用同余来做,也可以用快速幂来做 反思:定义成 #include&l ...

  2. HDU1013,1163 ,2035九余数定理 快速幂取模

    1.HDU1013求一个positive integer的digital root,即不停的求数位和,直到数位和为一位数即为数根. 一开始,以为integer嘛,指整型就行吧= =(too young ...

  3. 矩阵快速幂 HDU 4565 So Easy!(简单?才怪!)

    题目链接 题意: 思路: 直接拿别人的图,自己写太麻烦了~ 然后就可以用矩阵快速幂套模板求递推式啦~ 另外: 这题想不到或者不会矩阵快速幂,根本没法做,还是2013年长沙邀请赛水题,也是2008年Go ...

  4. 51nod 算法马拉松18 B 非010串 矩阵快速幂

    非010串 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 如果一个01字符串满足不存在010这样的子串,那么称它为非010串. 求长度为n的非010串的个数.(对1e9+7取模) ...

  5. hdu 4704 Sum (整数和分解+快速幂+费马小定理降幂)

    题意: 给n(1<n<),求(s1+s2+s3+...+sn)mod(1e9+7).其中si表示n由i个数相加而成的种数,如n=4,则s1=1,s2=3.                  ...

  6. Codeforces632E Thief in a Shop(NTT + 快速幂)

    题目 Source http://codeforces.com/contest/632/problem/E Description A thief made his way to a shop. As ...

  7. GDUFE-OJ 1203x的y次方的最后三位数 快速幂

    嘿嘿今天学了快速幂也~~ Problem Description: 求x的y次方的最后三位数 . Input: 一个两位数x和一个两位数y. Output: 输出x的y次方的后三位数. Sample ...

  8. 51nod 1113 矩阵快速幂

    题目链接:51nod 1113 矩阵快速幂 模板题,学习下. #include<cstdio> #include<cmath> #include<cstring> ...

  9. 【66测试20161115】【树】【DP_LIS】【SPFA】【同余最短路】【递推】【矩阵快速幂】

    还有3天,今天考试又崩了.状态还没有调整过来... 第一题:小L的二叉树 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣.所以,小L当时卡在了二叉树. ...

随机推荐

  1. 在net安装程序中部署oracle客户端全攻略

    在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ...

  2. 你需要知道的10位Java开发牛人

    1.James Gosling 1983 年,Gosling 获得了加州大学的计算机科学学士学位.1990 年,他获得了卡内基梅隆大学的计算机科学博士学位,师从 BobSproull.在攻读博士期间, ...

  3. Cleaner Robot - CodeForces 589J(搜索)

    有一个M*N的矩阵,有一个会自动清洁的机器人,这个机器人会按照设定好的程序来打扫卫生,如果当前方向前面可以行走,那么直接走,如果不可以走那么会向右转动90度,然后回归上一步判断.求机器人最多能打扫的面 ...

  4. ActiveMQ入门实例(转)

    1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip,然后双击a ...

  5. hadoop2.2.0集群安装

    位说明. 位).Jdk使用的1.7(1.6也可以).网络配置好,相互可以ping通,java环境安装完毕.   第一部分 Hadoop 2.2 下载 位). 下载地址:http://apache.cl ...

  6. maven项目文件乱码问题

    今日碰到maven项目中的一个资源文件出现乱码,排查发现是在.setting文件夹下的org.eclipse.core.resources.prefs文件导致的. 修改前的编码规则如下: <sp ...

  7. Hibernate查询之Example查询

    org.hibernate.criterion.Example 类允许你通过一个给定实例构建一个条件查询. 此实例的属性值将做成查询条件. Cat cat = new Cat(); cat.setSe ...

  8. MVC URL处理

     需要web.config在system.webServer节点添加  <modules runAllManagedModulesForAllRequests="true"/ ...

  9. 20169210《Linux内核原理与分析》第五周作业

    本次内容分为两部分,第一部分是实验,第二部分是教材的第四章和第六章. 第一部分:实验 本次的实验内容是构造一个简单的Linux系统MenuOS,过程如下. 首先使用如下命令进入LinuxKernel ...

  10. Hadoop的辉煌还能延续多久?

    摘要:Hadoop已经成为大数据的代名词.短短几年间,Hadoop从一种边缘技术成为事实上的标准.而另一方面,MapReduce在谷歌已不再显赫.当企业瞩目MapReduce的时候,谷歌好像早已进入到 ...