計算x的n次方有遞迴和遞推程式。不論從時間或空間來看,自然遞推優於遞迴。
然而,二分法則是極其優的一種方法,用在計算x的n次方完全沒有問題,而且不是遞迴而是遞推的程式。
程式中使用條件編譯,以便於統計分析演算法的計算量。
正解是函式power3。
/*
* * 計算x的n次方程式:1.遞迴程式;2.非遞迴程式;3.二分法。
* */
#include //#define debug
#ifdef debug
int c1=0, c2=0, c3=1;
#endif
long power1(int, int);
long power2(int, int);
long power3(int, int);
int main(void)
long power1(int x, int n)
long power2(int x, int n)
return result;
}long power3(int x, int n)
return res;
}
java 計算x的n次方
x的n次方,可以用簡單的迭代方法自乘n次,但這種方法十分低效。可以用兩種方法 如下 計算x的n次方的方法,public class x n 第二種方法 把n轉化為二進位制數,掃瞄每個二進位制位,若為0則,則直接平方,否則平方後再乘以x param i param j return private s...
計算x的n次方(用函式)
use mathjax to parse formulas description 問題很簡單,求x n.請編寫pow 函式.宣告如下 int pow int x,int n,int p pow的功能是實現x n,最後 個引數p沒有用。系統會自動在程式的最後加上如下 int main input x...
計算2的n次方
任意給定乙個正整數n n 100 計算2的n次方的值。輸入乙個正整數n。輸出2的n次方的值。計算2的n次方也是依次相乘2,大於個位則進製,從後向前儲存元素,所以要令初始值為1.includeint main 建立儲存資料的陣列 a 49 1 用陣列儲存 int n int i int x 0 x代表...