算法設計實驗報告一(簡單算法設計)_第1頁
算法設計實驗報告一(簡單算法設計)_第2頁
算法設計實驗報告一(簡單算法設計)_第3頁
算法設計實驗報告一(簡單算法設計)_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗報告一課程 C+ 實驗名稱 簡單算法設計 第 1 頁 專業(yè) _數(shù)學與應用數(shù)學_ _ 班級_ 雙師一班 學號 105012011056 姓名 陳萌 實驗日期:2013 年 3 月 9 日 報告退發(fā) (訂正 、 重做) 一、實驗目的1. 理解算法設計與分析的基本概念,理解解決問題的算法設計與實現(xiàn)過程;2. 掌握簡單問題的算法設計與分析,能設計比較高效的算法;3. 熟悉C/C+語言等的集成開發(fā)環(huán)境,掌握簡單程序設計與實現(xiàn)的能力。 二、實驗內容(一) 相等元素問題1.問題描述元素唯一性問題:給出一個整數(shù)集合,假定這些整數(shù)存儲在數(shù)組A1n中,確定它們中是否存在兩個相等的元素。請設計出一個有效算法來解

2、決這個問題,你的算法的時間復雜性是多少? 2. 具體要求(若在ACM平臺上提交程序,必須按此要求)平臺上1767題輸入:輸入的第一行是一個正整數(shù)m,表示測試例個數(shù)。接下來幾行是m個測試例的數(shù)據(jù),每個測試例的數(shù)據(jù)由兩行組成,其中第一行為一個正整數(shù)n (n=500),表示整數(shù)序列的長度,第二行給出整數(shù)序列,整數(shù)之間用一個空格隔開。輸出:對于每個測試例輸出一行,若該組測試例中存在兩個相等的元素則輸出”Yes”,否則,輸出”No”。每個測試例的輸出數(shù)據(jù)用一行表示。3. 測試數(shù)據(jù)輸入:3 10 9 71 25 64 38 52 5 31 19 45 16 26 35 17 92 53 24 6 57 2

3、1 12 34 2 17 86 75 33 20 15 87 32 7 84 35 26 45 78 96 52 22 37 65 9 43 21 3 33 91輸出:No Yes No (二) 整數(shù)集合分解1.問題描述 設計算法把一個n個元素的整數(shù)集合(n為偶數(shù))分成兩個子集S1和S2,使得:每個新的集合中含有n/2個元素,且S1中的所有元素的和與S2中的所有元素的和的差最大。 2. 具體要求(若在ACM平臺上提交程序,必須按此要求)平臺上1768題輸入的第一行是一個正整數(shù)m,表示測試例個數(shù)。接下來幾行是m個測試例的數(shù)據(jù),每個測試例的數(shù)據(jù)由兩行組成,其中第一行為一個正整數(shù)n (n為偶數(shù),且n

4、=500),表示原整數(shù)集合的長度,第二行給出這n個整數(shù)序列,整數(shù)之間用一個空格隔開。輸出:對于每個測試例輸出兩行,分別表示新生成的整數(shù)集合。其中,第一行是元素和比較小的整數(shù)集合,第二行是元素和比較大的整數(shù)集合,整數(shù)之間用一個空格隔開。兩個測試例的輸出數(shù)據(jù)之間用一個空行隔開,最后一個測試例后無空行3. 測試數(shù)據(jù)輸入: 22268 25 34 16 2 37 3 95 76 57 21 13 4 78 29 6 17 39 51 20 43 12 2628 3 48 59 14 32 47 51 42 61 9 24 52 78 65 2 37 78 51 73 29 7 26 95 37 2輸出

5、: 2 3 4 6 12 13 16 17 20 21 25 29 34 37 39 43 51 57 68 76 78 95 2 2 3 7 9 14 24 26 28 29 32 37 37 42 47 48 51 51 52 59 61 62 65 73 78 95三、實驗步驟1.程序如下:#include#define N 500int main()int i,j,m,n,t,k=0;int aN;printf(請輸入測試的數(shù)的個數(shù):n);scanf(%d,&m);for(t=0;tm;t+)printf(請輸入序列的長度:n); scanf(%d,&n); printf(請輸入序列的

6、數(shù)字:n); for(i=0;in;i+)scanf(%d,&ai); for(i=0;in;i+) for(j=i+1;jn;j+) if(ai=aj) k=1; if(k=1) printf(yesn); else printf(NOn); return 0;2. 程序如下: #include#define N 500int main()int aN;int n,k,t,j,i,b,m; printf(請輸入示例的個數(shù):n);scanf(%d,&m);for(b=0;bm;b+)printf(請輸入數(shù)的個數(shù):n); scanf(%d,&n); printf(請輸入該組數(shù):n); for(i=0;in;i+)scanf(%d,&ai); for(i=0;in;i+) k=i; for(j=i+1;jaj) k=j;if(i!=k) t=ai; ai=ak; ak=t; for(i=0;in/2;i+) printf(%3d,ai); printf(n); for( ;in;i+) printf(%3d,ai); printf(n); re

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論