查看: 225|回复: 5|关注: 0

[已解决] 如何让四个输入变量的和等于100

[复制链接]

新手

21 麦片

财富积分


050


9

主题

142

帖子

2

最佳答案
  • 关注者: 4
求助:四个变量x1=1:1:97; x2=1:1:97; x3=1:1:97; x4=1:1:97;

如何求解 x1+x2+x3+x4=100的各个变量的值,并保存到Excel或者TXT中,万分感谢,可有偿。

论坛优秀回答者

5

主题

1518

帖子

425

最佳答案
  • 关注者: 123
发表于 2019-9-10 13:45:37 | 显示全部楼层 |此回复为最佳答案
你不是都已经把穷举法写出来了么
先在循环外面定义解集
sol = [];
然后
四个循环套一个判断
if x1+x2+x3+x4==100
sol = [sol; x1, x2, x3, x4];
end
反正这个穷举规模也不大,暴力算就是了
提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字

论坛优秀回答者

5

主题

1518

帖子

425

最佳答案
  • 关注者: 123
发表于 2019-9-10 13:50:59 | 显示全部楼层
更一般的算法大致是把原题目等效为:
在99个间隔中间选3个,把100个1分成了四组,每组中1的个数即对应的x1等数字,注意对称性,比如[1,2,3,94]就对应着六组不同的解。
提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字

新手

21 麦片

财富积分


050


9

主题

142

帖子

2

最佳答案
  • 关注者: 4
 楼主| 发表于 2019-9-10 14:10:23 | 显示全部楼层
已解决,谢谢

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2019-9-12 17:32:28 | 显示全部楼层

请问是如何解决的?

新手

21 麦片

财富积分


050


9

主题

142

帖子

2

最佳答案
  • 关注者: 4
 楼主| 发表于 6 天前 | 显示全部楼层
TouAkira 发表于 2019-9-10 13:45
你不是都已经把穷举法写出来了么
先在循环外面定义解集
sol = [];

我也是这么计算的,心思能有更简单的方法。最后还是采用笨法子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表