首页 > 其他 > 详细

小知识(二分幂

时间:2015-11-29 17:53:37      阅读:291      评论:0      收藏:0      [点我收藏+]

  把以前大神们讲过的一些小知识点整理了一下。 

 1.二分幂的原理:技术分享

代码:

 1 int power(int a,int b)
 2 {
 3     int ans=1;
 4     while(b!=0)
 5     {
 6         if(b%2==1)
 7             ans*=a;
 8         b/=2;
 9         a*=a;
10     }
11     return ans;
12 }
 1 double power(double b,unsigned int e)
 2 {
 3     if(e==0)
 4         return 1;
 5     if(e==1)
 6         return b;
 7     double result=power(b,e/2);
 8     result*=result;
 9     if(e%2)//a&0x1=a%2;
10         result*=b;
11     return result;
12 }

由二分幂来求出a的b次方的最后一位数:HDU1079

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<queue>
 6 #include<vector>
 7 using namespace std;
 8 long long power(long long a,long long b)
 9 {
10     long long  ans=1;
11     long long temp=a;
12     while(b!=0)
13     {
14         if(b%2==1)
15             ans=(ans*temp)%10;
16         b/=2;
17         temp=(temp%10)*(temp%10)%10;;
18     }
19     return ans;
20 }
21 int main()
22 {
23     long long  a,b;
24     long long s;
25     while(cin>>a>>b)
26     {
27         s=power(a,b);
28         cout<<s<<endl;
29     }
30     return 0;
31 }
View Code


 

 

小知识(二分幂

原文:http://www.cnblogs.com/yinqx/p/5004996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!