如把3/7和13/23分别化为三个单位分数的和【贪心算法】设a、b为互质正整数,aweight=$weight; $this->price=$price; }}//生成数据$n=10;for($i=1;$iweight,' ',$val->price; echo ''; }}//按照价格和重量比排序function tsort(&$x){ $len=count($x); for($i=1;$iweight; $temres=$temp->price/$temp->weight; if($res>$temres){ $x[$j]=$x[$j+1]; $x[$j+1]=$temp; } } } }//贪心算法function tanxin($x,$totalweight=50){ $len=count($x); $allprice=0; for($i=1;$iweight>$totalweight) break; else{ $allprice+=$x[$i]->price; $totalweight=$totalweight-$x[$i]->weight; } } if($iprice*($totalweight/$x[$i]->weight); return $allprice;}tsort($x);//按非递增次序排序display($x);//显示echo '0-1背包最优解为:';echo tanxin($x);Java源代码 package main;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Random;public class Main { /** * 测试 */ public static void main(String[] args) { // 1.随机构造一批任务 List inputList = new ArrayList(); Random rand = new Random(); for (int n = 0; n |