找回密码
 注册
Simdroid-非首页
查看: 84|回复: 2

想请教大家一个算法问题!

[复制链接]
发表于 2010-7-16 15:13:26 | 显示全部楼层 |阅读模式 来自 陕西西安
有N个数,加起来等于一个常数,比如说1,
同时这N个数必须满足约束条件:
1.   N个数均为整数
2..  它们的绝对值加起来等于一个常数比如说5,
求出所有满足约束条件的解。
希望知道的给个思路,或者MATLAB自带有什么自带的算法可以解此类方程,
发表于 2010-7-16 16:21:02 | 显示全部楼层 来自 北京
Simdroid开发平台
你的描述有问题吧,是倒数加起来是常数1吧

还是小学的时候接触过一个概念叫做埃及分数(啊,令人怀念的小学生数学报,一转眼12年了),你可以找找相关文章。

记得很小的时候做这种题有个算法,比如把1/10拆成两个埃及分数,思路是:得到10的两个因数比如1和2,进行如下变换:
1/10 = (1+2)/((1+2)*10)
分子拆开得到 1/30 和 1/15,恩这就是一组解。

更细节的实现还是参考相关论文吧~~
回复 不支持

使用道具 举报

发表于 2010-7-17 13:42:47 | 显示全部楼层 来自 贵州贵阳
按照我的理解,这是一个方程组,我现在能想到的办法是判断正负,去掉绝对值符号,进行循环,输出所有的解;另外可不可以考虑用数学规划的观点去求解呢
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 21:36 , Processed in 0.034717 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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