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...