數的乘方,簡單揹包,組合

2021-09-06 04:33:31 字數 1174 閱讀 6255

2的8次方

4的4次方

8的2此方

利用以上思路來減少乘法次數,3次乘法就可以完成運算

注意點:用模來判斷乘方的奇偶性,如果是奇數則再乘以x

public static int 

power(int

x, int

y) else if (y % 2 == 0)

elsereturnx * power(x * x, y / 2);}

static void

main(string args)

從11,8,7,6,5湊滿20放到包裡

從包中取出與20比較,如果可以容納的話就繼續加

否則的話則放棄該元素試圖放下乙個元素.

內部陣列到了盡頭需要索引+1繼續嘗試填充

如果到了陣列盡頭還是沒湊滿,那麼嘗試從頭開始(索引+1)即頭元素11換成8

public static void 

knapsack3(int values, int

total)}}

}

遞迴版本分成兩個部分的迴圈

public static int 

knapsack(int values, int

limit, int

start, int

inside)

,", values[i]));

if (limit - values[i] == 0)

if (limit - values[i] > 0)

limit -= values[i];

}else

,", values[i]));

if (0 == knapsack(values, limit - values[i], i + 1, 1))

break;}}

if (inside == 1)

return

limit;

}

test

static void 

main(string args)

; knapsack(values, 20, 0,0);

}

組合看此貼

01揹包(多個揹包的組合)

kkksc03的大學生活非常的頹廢,平時根本不學習。但是,臨近期末考試,他必須要開始抱佛腳,以求不掛科。這次期末考試,kkksc03需要考4科。因此要開始刷習題集,每科都有乙個習題集,分別有s1,s2,s3,s4道題目,完成每道題目需要一些時間,可能不等 a1.as1,b1.bs2,c1.cs3,d...

簡單01揹包 完全揹包

01揹包問題 有n個重量和價值分別為wi,vi的物品。從這些物品中挑選出總重量不超過w的物品,求所有挑選方案中價值總和的最大值。1 n 100 1 wi,vi 100 1 w 10000 第一行輸入n的值 接下來n行輸入wi,vi 最後一行輸入w for example input 2 31 2 3...

揹包九講 簡單揹包

揹包問題是一種動態規劃演算法的衍生問題。它可以被看作一種獨立的題型,也可以看作是一種線性動態規劃。學好揹包 學會揹包,對於深入理解動態規劃演算法有著極大的好處,並能幫助理解一些更深層次的動態規劃問題。那麼就開始吧 題目型別 有 n 件物品和乙個容量為 v 的揹包。第 i 件物品的費體積是 v i 價...