java計算X的n次方問題解決方案

2021-07-31 22:11:27 字數 861 閱讀 1582

1.最簡單也是效率最低的 for迴圈n次x的相乘 再次不做任何的解釋

2.用遞迴來減半迴圈,a:當n為偶數的時候,(x^n/2)^2 b:當n為奇數的時,x(x^m)^2 c:n等於0 返回1 d:n等於1 返回x

3.使用位移,把n轉化為二進位制數,掃瞄每個二進位制位,若為0則,則直接平方,若為1,否則平方後再乘以x。

第二種第三種具體實現如下:

**塊語法遵循標準markdown**,例如:

public

class

x_n

/*** 第二種方法:把n轉化為二進位制數,掃瞄每個二進位制位,若為0則,則直接平方,否則平方後再乘以x

* *@param x

*@param n

*@return

*/private

static

intpowerbybinary(int x, int n)

if (n == 1 )

int y = 1;

string str = integer.tobinarystring(n);

for (int a = 0; a < str.length(); a++)

}return y;

}/**

* 第一種方法:採用遞迴的方法,x的n次方,若n為偶數,則x的n次方等於(x^n/2)^2,否則等於x(x^m)^2

* *@param x

*@param n

*@return

*/private

static

intpower(int x, int n) else

}return result;

}}

java 計算x的n次方

x的n次方,可以用簡單的迭代方法自乘n次,但這種方法十分低效。可以用兩種方法 如下 計算x的n次方的方法,public class x n 第二種方法 把n轉化為二進位制數,掃瞄每個二進位制位,若為0則,則直接平方,否則平方後再乘以x param i param j return private s...

計算x的n次方

計算x的n次方有遞迴和遞推程式。不論從時間或空間來看,自然遞推優於遞迴。然而,二分法則是極其優的一種方法,用在計算x的n次方完全沒有問題,而且不是遞迴而是遞推的程式。程式中使用條件編譯,以便於統計分析演算法的計算量。正解是函式power3。計算x的n次方程式 1.遞迴程式 2.非遞迴程式 3.二分法...

用Python解決x的n次方問題

我考慮到了x的所有n次的情況,下面的 有可能是不完美的,但是肯定是對的。def aaa x,n a is程式設計客棧instance x,int,float 這是考慮x和n的型別,需要滿足條件才可以 if a true 往下執行 return none b isinstance n,int,floa...