码迷,mamicode.com
首页 > 其他好文 > 详细

小知识(二分幂

时间:2015-11-29 17:56:15      阅读:143      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!