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

数值的整数次方

时间:2017-08-05 00:07:09      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:cpp   复杂   logs   方式   次方   one   ++   ada   简单   

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
 
思路:

 1 关于次幂的问题特殊的情况,比如次幂为负数,或者基数为0时等等复杂的情况

 2 机器中浮点数的比较是由误差的,因此double类型的比较,不能用简单的a==0来比较。一般的比较方式是,相减的差在一个很小的区间内,我们就认为是相等的

 

class Solution {
public:
    double Power(double base, int exponent) {
    	double mul=1.0;
		 /* 如果exponent = 0 输出1 */
	        if(exponent == 0)
	        {
	            return 1.00000;
	        }

	        /* 如果base = 0 输出0 */
	        if(base >= -0.000001 && base <= 0.000001)
	        {
	            return 0;
	        }
	        /* 如果指数大于0 */
	        if(exponent > 0)
	        {
	            for(int index = 0; index < exponent; index++)
	            {
	                mul *= base;
	            }
	        }
	        else
	        {
	            exponent = -exponent;
	            for(int index = 0; index < exponent; index++)
	            {
	                mul *= base;
	            }
	            mul = 1.0/mul;
	        }


	        return mul;
    }
};

  

http://blog.csdn.net/qq_23217629/article/details/51729501

http://blog.csdn.net/Yanfucahng/article/details/52876300?utm_source=itdadao&utm_medium=referral

 

数值的整数次方

标签:cpp   复杂   logs   方式   次方   one   ++   ada   简单   

原文地址:http://www.cnblogs.com/dd2hm/p/7287746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!