問題描述 設有n種不同面值的硬幣,各硬幣的面值存于數組T[1:n]中?,F要用這些面值的硬幣來找錢,可以實用的各種面值的硬幣個數不限。當只用硬幣面值T[1],T[2],…,T[i]時,可找出錢數j的最少硬幣個數記為C(i,j)。若只用這些硬幣面值,找不出錢數j時,記C(i,j)=∞。 編程任務 設計一個動態規劃算法,對1≤j≤L,計算出所有的C( n,j )。算法中只允許實用一個長度為L的數組。用L和n作為變量來表示算法的計算時間復雜性 數據輸入 由文件input.txt提供輸入數據。文件的第1行中有1個正整數n(n<=13),表示有n種硬幣可選。接下來的一行是每種硬幣的面值。由用戶輸入待找錢數j。 結果輸出 程序運行結束時,將計算出的所需最少硬幣個數輸出到文件output.txt中。
標簽:
上傳時間: 2016-07-28
上傳用戶:yangbo69
1. 進一步掌握和利用C語言進行程序設計的能力; 2. 進一步理解和運用結構化程序設計的思想和方法; 3. 初步掌握開發一個小型實用系統的基本方法; 4. 學會調試一個較長程序的基本方法; 5. 學會利用流程圖或N-S圖表示算法; 6. 掌握書寫程設計開發文檔的能力 (書寫課程設計報告) 。
上傳時間: 2014-01-11
上傳用戶:zsjinju
1. 進一步掌握和利用C語言進行程序設計的能力; 2. 進一步理解和運用結構化程序設計的思想和方法; 3. 初步掌握開發一個小型實用系統的基本方法; 4. 學會調試一個較長程序的基本方法; 5. 學會利用流程圖或N-S圖表示算法; 6. 掌握書寫程設計開發文檔的能力 (書寫課程設計報告) 。
上傳時間: 2013-12-21
上傳用戶:qq1604324866
最速下降法是以負梯度方向作為下降方向的極小化算法,本程序用該方法求解n元正定二次函數的極小值
上傳時間: 2013-12-03
上傳用戶:Thuan
Visual C++提供了一個支持可視化編程的集成開發環境:Visual Studio(又名Developer Studio)。Developer Studio是一個通用的應用程序集成開發環境,它不僅支持Visual C++,還支持Visual Basic,Visual J++,Visual InterDev等Microsoft系列開發工具。Developer Studio包含了一個文本編輯器、資源編輯器、工程編譯工具、一個增量連接器、源代碼瀏覽器、集成調試工具,以及一套聯機文檔。使用Developer Studio,可以完成創建、調試、修改應用程序等的各種操作。
標簽: Studio Developer Visual 集成開發環境
上傳時間: 2016-10-16
上傳用戶:shizhanincc
基于VB的遺傳算法軟件實現 在程序中,FitnessValue (i) 為適應度值數組、avFit2nessValue (100) 為歸一化適應度值數組、Population2 Chrom(i ,j) 為遺傳個體的等位基因值、Popsize 為種群中的個體數,CHROMLENGTH為一母體對的等位基因 總數。
標簽: avFit2nessValue FitnessValue Population2 Chrom
上傳時間: 2014-01-09
上傳用戶:1966640071
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上傳時間: 2014-11-10
上傳用戶:wpwpwlxwlx
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上傳時間: 2013-12-12
上傳用戶:亞亞娟娟123
兩臺處理機A 和B處理n個作業。設第i個作業交給機器 A 處理時需要時間ai,若由機器B 來處理,則需要時間bi。由于各作 業的特點和機器的性能關系,很可能對于某些i,有ai >=bi,而對于 某些j,j!=i,有aj<bj。既不能將一個作業分開由兩臺機器處理,也沒 有一臺機器能同時處理2 個作業。設計一個動態規劃算法,使得這兩 臺機器處理完成這n 個作業的時間最短(從任何一臺機器開工到最后 一臺機器停工的總時間)。研究一個實例:(a1,a2,a3,a4,a5,a6)= (2,5,7,10,5,2);(b1,b2,b3,b4,b5,b6)=(3,8,4,11,3,4)
上傳時間: 2014-01-14
上傳用戶:獨孤求源
Euler函數: m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n Euler函數: 定義:phi(m) 表示小于等于m并且與m互質的正整數的個數。 phi(m) = p1^(r1-1)*(p1-1) * p2^(r2-1)*(p2-1) * …… * pn^(rn-1)*(pn-1) = m*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pn) = p1^(r1-1)*p2^(r2-1)* …… * pn^(rn-1)*phi(p1*p2*……*pn) 定理:若(a , m) = 1 則有 a^phi(m) = 1 (mod m) 即a^phi(m) - 1 整出m 在實際代碼中可以用類似素數篩法求出 for (i = 1 i < MAXN i++) phi[i] = i for (i = 2 i < MAXN i++) if (phi[i] == i) { for (j = i j < MAXN j += i) { phi[j] /= i phi[j] *= i - 1 } } 容斥原理:定義phi(p) 為比p小的與p互素的數的個數 設n的素因子有p1, p2, p3, … pk 包含p1, p2…的個數為n/p1, n/p2… 包含p1*p2, p2*p3…的個數為n/(p1*p2)… phi(n) = n - sigm_[i = 1](n/pi) + sigm_[i!=j](n/(pi*pj)) - …… +- n/(p1*p2……pk) = n*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pk)
上傳時間: 2014-01-10
上傳用戶:wkchong