剑指Offer09 数值的整数次方

Posted Juntaran

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer09 数值的整数次方相关的知识,希望对你有一定的参考价值。

 1 /*************************************************************************
 2     > File Name: 09_Power.c
 3     > Author: Juntaran
 4     > Mail: [email protected]
 5     > Created Time: 2016年08月29日 星期一 21时07分21秒
 6  ************************************************************************/
 7 
 8 #include <stdio.h>
 9  
10 double Power(double base, int exponent)
11 {
12     if (base == 0)
13         return 0;
14     if (exponent == 0)
15         return 1;
16     if (exponent == 1)
17         return base;
18     
19     int x = abs(exponent);
20     double r = 1.0;
21     
22     while (x)
23     {
24         if (x & 1)
25             r *= base;
26         base *= base;
27         x >>= 1;
28         printf("r is %f\n base is %f\n x is %d\n", r, base, x);
29     }
30     return exponent<0 ? 1/r : r;
31 }
32 
33 int main()
34 {
35     double base = 2;
36     int exponent = 10;
37     double ret = Power(base, exponent);
38     printf("ret is %f\n", ret);
39     
40     return 0;
41 }

 

以上是关于剑指Offer09 数值的整数次方的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode(剑指 Offer)- 16. 数值的整数次方

附可运行代码剑指 Offer 16. 数值的整数次方

附可运行代码剑指 Offer 16. 数值的整数次方

《剑指Offer》题目:数值的整数次方

剑指offer 12.数值的整数次方

剑指offer数值的整数次方