剑指offer12

剑指offer12:数值的整数次方

题目描述

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

保证base和exponent不同时为0

解法一:分类讨论

class Solution {
public:
    double Power(double base, int exponent) {
        double answer = 1.0;
        if (exponent == 0)
            return 1.0;
        else if (base == 0.0)
            return 0.0;
        else if (exponent>0)
        {
            for (int i = 1; i <= exponent; i++)
            {
                answer *= base;
            }
        }
        else
        {
            base = 1 / base;
            for (int i = 1; i <= (0 - exponent); i++)
            {
                answer *= base;
            }
        }
        return answer;
    }
};

解法二:调用pow库函数

class Solution2 {
public:
    double Power(double base, int exponent) {
        return pow(base, exponent);
    }
};

main函数

#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    double base;
    cout << "请输入浮点数base: " << endl;
    cin >> base;
    int exponent;
    cout << "请输入次幂:" << endl;
    cin >> exponent;
    Solution2 answer;
    cout << "答案是:" << answer.Power(base, exponent)<<endl;
    system("pause");
    return 0;
}

   转载规则


《剑指offer12》 赵小亮 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
剑指offer46 剑指offer46
剑指offer46:孩子们的游戏(约瑟夫环问题) 题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。 HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。
2020-05-07
下一篇 
剑指offer08 剑指offer08
剑指offer08:跳台阶 题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。 求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 解法一:基于规律的方法class Solution { public:
2020-05-07
  目录