/* 但是這次太簡單直接就發發發了唉 */
作業:
用高效演算法自製乙個高效率的pow函式, 指數只使用正數 (不包括0,適用於極大的整數)
|| 寫在前面:
乙個誤區更正(一直沒注意到...):for迴圈的第一次執行時不單單要執行初始化語句,同時得滿足判斷條件才能進入迴圈
|| 演算法一:普普通通
若題目要求使用乙個變數表示結果x^a,並直接用該值作為返回值
解題思路:將該變數初始化為1.0
優化思路:將該變數直接初始化為底數x
double
mypow
(double x,
int a)
/*小優化*/
double
mypow
(double x,
int a)
|| 演算法二(用個遞迴,執行效率不高不過看起來挺好玩)
解題思路:抽象一下程式第一步即顯而易見:
x^10 = x^5 * x^5 / x^11 = x^10 * x 故分兩種情況 1,冪乘以冪 2,冪乘以底數自身
//明確函式功能:指定了底數和指數後返回出它的冪
//定好頭尾: 尾: 指數被除為0,返回1; 頭: 分兩種情況 1,冪乘以冪 2,冪乘以底數自身
double
mypow
(double x,
int n,
double
&res)
intmain()
|| 演算法三: 大o:logn ,高效 [誇]
解題思路:x^10 = (x^5) * (x^5); x^5=x^4 * x ; x^4 = x^2 * x^2; ...
double
mypow
(double x,
int n)
else
}return res;
}
c語言程式設計作業2
通過對迴圈控制這一章的學習,了解了相較於之前更為複雜的c語言結構,並且開始解決一生活中常見的問題,將c語言程式設計進一步推向了實際應用。c語言提供for while do while三種迴圈語句。其中while語句 for語句屬於當型迴圈結構,do while語句屬於直到型迴圈語句,這三種語句各有各...
程式設計 Week2 作業
題意 東東有一張地圖,想通過地圖找到妹紙。地圖顯示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹紙,這兩個位置保證為0。既然已經知道了地圖,那麼東東找到妹紙就不難了,請你編乙個程式,寫出東東找到妹紙的最短路線。input 輸入是乙個5 5的二維陣列,僅由0 1兩數字組成,表示法陣地圖。ou...
Week2 程式設計作業
j x theta y 2 j 1 2 m sum j 直接按代價函式的公式敲 需新增的 temp0 theta 1 alpha m sum x theta y x 1 temp1 theta 2 alpha m sum x theta y x 2 theta temp0 temp1 要讓theta...