||
变量:m个正整数
目标函数:m个正整数的乘积最大
约束条件:m个正整数的和,等于100
基本要求:m的值由人工临时输入,也就是m的大小可变
特殊要求:不要以数学推导出来的结论为支撑来编程,就直接用穷举法或简单变形来编程(语言不限,C、MATLAB等)
如果m是固定的,没有难度。比如,m=3
out = 0;
for d1=1:100
for d2=1:100-d1
for d3=1:100-d1-d2
d = [d1 d2 d3];
temp = prod(d);
if temp>out
out = temp;
end
end
end
end
out % 输出最大值
现在的问题是,如果m是变化的,不知道需要写多少层的for循环?
欢迎高手打擂
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2023-4-2 14:10
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社