演算法分析實驗報告02

2021-10-06 17:11:52 字數 1389 閱讀 7390

演算法分析:

斐波那契數列:第1,2兩個數為1,1.從第3個數開始,該數是其前面兩個數之和。

/*

利用遞迴設計演算法計算第20個斐波那契數。

*/#include

using

namespace std;

intfibonacci

(int n)

intmain()

1.演算法分析:

10!=10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1

n!=n(n-1)(n-2)……

可知當n=0,1是等於1

n>=2時,進行遞迴運算

/*

利用遞迴設計演算法求解10!

*/#include

using

namespace std;

intfun

(int n)

intmain()

1.演算法分析:

第一天發1+(f(n,1)-1)/7枚金牌,第二天發金牌2+(f(n,2)-2)*1/7,依次類推:

設第一天的金牌數量為f(n-1),發金牌的數量為1+(f(n,1)-1)/7,第二天的金牌數量為f(n-2),發的金牌數量為2+(f(n,2)-2)*1/7,則有f(n-2)=f(n-1)- 1+(f(n,1)-1)/7,類推得f(n-i)=f(n,i-1)-i-(f(n,i)-i)/7;

#include

using

namespace std;

//定義每一天發放獎牌從剩餘的部分**得幾分之幾

//此處為7

#define fenmu 7

//建立遞迴函式,nmedalsum為第n天獎牌總數,包括當天分發的和剩餘的兩部分之和

intnmedalsum

(int i,

int n)

else

return result;

}void

main()

}else

}

cout<<

"金牌發放了"

<< n <<

"天"<<

",總金牌數是:"

<<

nmedalsum(1

,n)<<

"枚"<< endl << endl;

cout<<

"每天發放的金牌數為:"

<< endl << endl;

for(

int j=

1;j<=n;j++

)

cout << endl;

system

("pause");

}

演算法設計與分析 實驗報告

演算法設計與分析 實驗報告 題目一 矩陣相乘 題目二 最長公共子串行 題目一 矩陣相乘 一 問題描述 給定n個矩陣 a1,a2,an 其中這n個矩陣是可相乘的,i 1,2,n 1。算出這n個矩陣的相乘積a1a2 an。補充 如果兩個矩陣a和b是可相乘的,那麼a的列數要和b的行數是相同的,否則,這兩個...

詞法分析實驗報告

實驗 一 詞法分析實驗 專業 商軟三班 姓名 姚棋輝 學號201506110250 一 實驗目的 編譯乙個詞法分析程式 實驗內容和要求 輸入字串,輸出這些字串的種別碼。二 實驗方法 步驟及結果測試 方法 鍵盤輸入字串時,使用陣列放起來,再從陣列這裡放進佇列。步驟 1 鍵盤輸入字串,存放在陣列中,2 ...

詞法分析實驗報告

實驗 一 詞法分析實驗 商業軟體工程 麥振澎 201506110162 一 實驗目的 對使用者輸入的字串進行判斷,區分它們的型別,熟悉詞法分析的過程。二 實驗內容和要求 使用者輸入的字串進行判斷,分別輸出每個字串所屬的型別。其中的判斷標準如下 無符號整數 整數 識別符號 字母 數字 0 1 2 8 ...