zoukankan      html  css  js  c++  java
  • 数值的整数次方

     1 class Solution {
     2 public:
     3     double Power(double base, int exponent) {
     4         double res=1.0;
     5         if(base==0) return 0;
     6         if(exponent==0) return 1;
     7         if(exponent<0){
     8             base = 1.0/base;
     9             exponent = -exponent;
    10         } 
    11         for(int i=0;i<exponent;i++){
    12             res = res*base;
    13         }
    14         return res;
    15     }
    16 };
     1 递归
     2 class Solution {
     3 public:
     4     double Power(double base, int exponent) {
     5          
     6         if(exponent == 0) return 1;
     7         if(base == 0) return 0;
     8         if(exponent == 1)
     9             return base;
    10         else if(exponent == -1)
    11             return 1/base;
    12         return Power(base,exponent/2) * Power(base,exponent/2) * Power(base,exponent%2);
    13     }
    14 };
     1 class Solution {
     2 public:
     3     double Power(double base, int exponent) {
     4         if(exponent>0)
     5         {
     6             if(exponent==1)
     7                 return base;
     8             if(exponent%2==0)
     9                 return Power(base,exponent/2)*Power(base,exponent/2);
    10             else
    11                 return Power(base,exponent/2)*Power(base,exponent/2+1);
    12         }
    13         else if (exponent==0)
    14         {
    15             return 1;
    16         }
    17         else
    18         {
    19             return 1/Power(base,0-exponent);
    20         }
    21     }
    22 };

    快速幂

     1 class Solution {
     2 public:
     3     double Power(double base, int exponent) {
     4         long long p=abs((long long) exponent);
     5         double r = 1;
     6         if(base==0) return 0;
     7         while(p){
     8             if(p&1) r *= base;
     9             base *= base;
    10             p>>=1;
    11         }
    12         return exponent<0? 1/r: r;
    13     }
    14 };
  • 相关阅读:
    23.Vue技术栈开发实战-Icon组件
    shell脚本每行后面多了一个^M的原因和解决办法
    mmap概述
    camera otp介绍
    brk实现
    USB技术浅析
    带你遨游USB世界
    echarts 更换主题颜色
    Hive UDAF介绍与开发
    2020湖北高考理科第一名唐楚玥的学习方法演讲
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11138367.html
Copyright © 2011-2022 走看看