第四章演算法上機實踐報告

2022-08-24 08:36:10 字數 902 閱讀 3362

第四章演算法上機實踐報告

實踐題目:設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1≤i≤n。 程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案, 使得能夠在磁帶上儲存盡可能多的程式。 對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。

輸入格式:

第一行是2 個正整數,分別表示檔案個數n和磁帶的長度l。接下來的1行中,有n個正整數,表示程式存放在磁帶上的長度。

輸出格式:

輸出最多可以儲存的程式數。

輸入樣例:

在這裡給出一組輸入。例如:

6 50

2 3 13 8 80 20

輸出樣例:

在這裡給出相應的輸出。例如:

5#include

#include

using namespace std;

int main(){

int n,l,count = 0;

cin >> n >> l;

int a[n];

for(int i = 0; i < n; i++){

cin >> a[i];

sort(a,a+n);

for(int i = 0; i < n; i++){

if(l >= a[i]){

l = l - a[i];

count++;

else

break;

cout << count;

return 0;

演算法描述:先輸入程式的個數,與磁帶的長度。再用陣列存放每乙個程式的長度。然後對每乙個程式的長度大小進行排列,選擇長度最短的,一次挑選,直到長度大於l停止。

演算法時間機器複雜度分析

心得:這道題比較簡單,思路比較清晰,很快就完成了程式設計,也沒有出什麼錯誤。

演算法第四章上機實踐報告

1.實踐題目 4 1 程式儲存問題 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。2.問題描述 在...

演算法第四章上機實踐報告

引論 相比與動態規劃演算法,貪心演算法是比較容易理解的,其思想就在於得到當前狀態下區域性最好選擇,當乙個問題的最優解包含其子問題的最優解時,即每個貪心選擇都是子問題的最優解,那麼就能的到該問題的最優解了。本次上機實踐的題目雖然不是特別難,但相比前兩次,這一次上機實踐的效率遠低於上兩次,因為在實踐的時...

演算法第四章上機實踐報告

一 實踐題目 程式儲存問題 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。第一行是2 個正整數,分...