博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12 求数值的整数次方
阅读量:4623 次
发布时间:2019-06-09

本文共 1528 字,大约阅读时间需要 5 分钟。

1 //题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 2 //分情况考虑: 3 //第一种情况:底数是0,且指数是负数; 4 //第二种情况:指数小于0; 5 class Solution  6 { 7 public: 8     bool g_InvalidInput = false; 9     double Power(double base, int exponent) 10     {11         //第一种情况:12         if (Equal(base, 0.0) && exponent < 0)13         {14             g_InvalidInput = true;15             return 0.0;16         }17         //第二种情况:考虑指数问题,指数小于0,就要取绝对值18         unsigned int absExponent = (unsigned int ) exponent;19         if (exponent < 0)20         {21             absExponent = (unsigned int)(-exponent);22         }23         double result = PowerWithExponent(base, absExponent);24         if(exponent < 0)25         {26             result = 1.0 /result;27         }28         return result;29     }30 private:31     bool Equal(double num1, double num2)32     {33         if(num1 - num2 > -0.000001 && num1-num2 <0.000001)34         {35             return true;36         }37         return false;38     }39     double PowerWithExponent(double base, unsigned int num)40     {41         if (num == 0)42         {43             return 1;44         }45         if (num == 1)46         {47             return base;48         }49         //***重点理解***由于要递归,故要定义返回值result,终止条件为num == 150         double result = PowerWithExponent(base, num>>1);51         result *= result;52         if (num & 0x1 == 1)53         {54             result *= base;55         }56         return result;57     }58 };

 

转载于:https://www.cnblogs.com/maleyang/articles/7401172.html

你可能感兴趣的文章
HTML基础入门
查看>>
生成器和生成器表达式
查看>>
C#中数组、ArrayList和List三者的区别
查看>>
MVC4 WEBAPI(一)使用概述
查看>>
推荐给非互联网主体的用户
查看>>
sublime3 sftp 忽略文件的写法
查看>>
42. Multiply Strings
查看>>
Socket 基于完整CS样式例子(转载)
查看>>
C++ 概念易错点
查看>>
【顶】在node环境下玩转less
查看>>
图片标签
查看>>
论网站结构(框架篇)
查看>>
oracle常用函数汇总
查看>>
.net下跨Server分布式事务的处理办法TransactionScope (转)
查看>>
LeetCode Fraction to Recurring Decimal
查看>>
知识点篇:8.1)坑爹的面试问题--选定轴孔配合公差等级
查看>>
数位dp
查看>>
输出 Office 报表
查看>>
galera cluster集群的分裂与仲裁机制
查看>>
day19
查看>>