求前n項階乘的和。
#includeusing namespace std;
//求某項階乘的值 5!=1*2*3*4*5
int fun(int i)
//求前n項階乘的和 s(x)=f(1)+f(2)+...f(x)
int fun2(int i)
/*//求前n項階乘的和 s(x)=f(1)+f(2)+...f(x)
int fun2(int i)
*/int fun3(int i)
int main()
分析思路:
當fun(5); 傳的乙個值為 5 .
fun(5) = fun(5-1) + 5 = fun(4) + 5;
fun(4) = fun(4-1) + 4 = fun(3) + 4;
fun(3) = fun(3-1) + 3 = fun(2) + 3;
fun(2) = fun(2-1) + 2 = fun(1) + 2;
fun(1) = return 1;
可以這樣寫:
fun(5) = fun(4) + 5;
= (fun(3) + 4) + 5;
= ((fun(2) + 3) + 4) + 5;
= (((((return 1) 1 + 2) + 3) + 4) + 5);
遞迴完後才return fun(5) = 15;
得到公式: f(i) = f(i-1) + i;
求前N項和
再做以前的題目,發現解法其實好多種,雖然萬變不離其宗,可是收穫還是好多。時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 張彤彧 浙江大學 本題要求編寫程式,計算序列 2 1 3 2 5 3 8 5 的前n項之和。注意該序列從第2項起,每...
遞迴 求N!的階乘
用遞迴演算法,求n!的精確值 n以一般整數輸入,n 100 輸入乙個整數n 輸出n!1010 3628800顯然100資料規模的階乘是無法用longlong存下的,所以我選擇用陣列來模擬大數乘法,具體 實現是從社團學姐那裡學到的,這裡附上我的理解 include include include in...
C語言 遞迴求n的階乘
例30 c語言求n!要求用遞迴實現。解題思路 本題和例29思想差不多,都是用遞迴來實現,讀者可以回顧一下 c語言遞迴求年齡 求階乘函式 int factorial int number 自定義階乘函式 else if number 0 number 1 0或者1本身的階乘是1 else return...