程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 快速冪:quickpow,冪:quickpow

快速冪:quickpow,冪:quickpow

編輯:C++入門知識

快速冪:quickpow,冪:quickpow


 

眾所周知,快速冪是優化對數的次方運算的最普遍手段。在學習快速冪的思想時,其分治思想容易讓大家用簡單的遞歸實現。

但其實,除了遞歸之外,更好的方法會是簡單的 WHILE循環。下面貼代碼:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <vector>
using namespace std;

int quickpow(int x,int y)
{
    int n=1;
    while(y!=0)
    {
        if (y&1) n*=x;
        x=x*x;
        y=y>>1;
    }
    
    return n;
}

int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n",quickpow(a,b));
 } 

*記得要用位運算優化哦QWQ

 

PS:這是我的第一篇博文,在此立下FLAG認真刷題,更新BLOG ,加油做一名有志向的蒟蒻QAQ

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved