1. 程式人生 > >數值的整數次方

數值的整數次方

double類型 cnblogs dad desc 負數 復雜 簡單的 相等 比較

題目描述

給定一個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

數值的整數次方