揹包問題解決公司零食採購(貪心 冒泡 動態)

2021-10-08 09:12:53 字數 2232 閱讀 3528

原始碼:零食購買分配

輸入引數

/**

* @params foodname 零食名稱

* @params prices 零食**

* @params lover 零食喜好度(用於調節零食選擇的偏好引數,此處表示受歡迎程度)

* @params summoney 總預算

*/string[

] foodname =

;double

prices =

;double

lover01 =

;int summoney01 =10;

int summoney02 =30;

int summoney03 =60;

int summoney04 =90;

int summoney05 =

140;

公司預算:10

實際花費:

10.0

選取的零食種類:

小當家*

2 玉公尺粒*

1 餅乾*

1 香腸*

2 公司預算:30

實際花費:

29.120000000000005

選取的零食種類:

小當家*

1 桂花餅*

1 牛肉乾*

1 豬肉幹*

1 玉公尺粒*

1 蛋糕*

1 餅乾*

1 香腸*

1 麻花*

1 公司預算:60

實際花費:

58.319999999999986

選取的零食種類:

小當家*

6 桂花餅*

7 牛肉乾*

7 豬肉幹*

7 玉公尺粒*

7 蛋糕*

6 餅乾*

6 香腸*

6 麻花*

6 麻薯*

1 公司預算:90

實際花費:

88.91999999999999

選取的零食種類:

小當家*

11 桂花餅*

11 牛肉乾*

12 豬肉幹*

12 玉公尺粒*

11 蛋糕*

12 麵包*

1 餅乾*

11 香腸*

11 麻花*

11 麻薯*

12 公司預算:140

實際花費:

138.4000000000001

選取的零食種類:

小當家*

20 桂花餅*

20 牛肉乾*

21 豬肉幹*

21 玉公尺粒*

20 蛋糕*

21 麵包*

21 餅乾*

20 香腸*

20 麻花*

20 麻薯*

21

重要**展示

//氣泡排序:篩選貪心位置

double

proportion =

newdouble

[length]

;for

(int i =

0; i < length; i++

)boolean flag =

false

;for

(int i =

0; i < length -

1; i++)}

if(!flag)

flag =

false

;}

while

(summoney_4temp > prices[point])}

//u:所選產品的倍數,uu:所選產品後,剩餘的錢,y:剩餘food種類

times =

(int

) math.

floor

(summoney / summoney_temp);if

(times >4)

double remain_money = summoney - times * summoney_temp;

//逐層規劃,外層迴圈表示揹包重量增加

for(

int i =

1; i <= summoney; i++

)else

}}

用多執行緒來解決多人分零食問題

x 用多執行緒來解決多人分零食問題 執行緒的建立和啟動有兩種方式 1,繼承於執行緒類thread來建立執行緒2,利用實現於runnable的方式建立執行緒 用法 先自定乙個類,然後繼承於thread類,在自定義類中要覆蓋thread類中的run 方法,run 方法中寫自己需要開啟執行緒的 之後在主方...

資料前導零問題解決

在使用文字資料來源的時候,經常的會遇到前導0的問題,比如你給了field1欄位char 20位長度,但實際資料可能只有8位 例如abcdefgh 如果不做設定,那麼在資料上載到psa的時候就會自動儲存為 000000000000abcdefgh 想要使用這部分資料的話還得在例程中寫轉換去掉前導0。但...

android簽名包安裝問題解決

安卓360加固後,簽名包有的手機安裝不了問題解決 1.使用360加固後,再使用jarsigner簽名打包 命令 jarsigner verbose keystore bar1 signedjar test signed.apk encrypted.apk bar1 2.部分手機安裝的時候,提示失敗,...