难题求解,规模很大。

sitgn 2003-07-11 05:25:54
算法内容如下

已知:
(1)式 100a + 230b + 300c + ... + 1345n = 10000
(2)式 a + b + c + ... + n = 15

a,b,c,...,n为 0 或者 正整数(a,b,c,...n>=0)
a,b,c,...,n前面的系数没有限制,无规律是普通系数

求解出符合述条件的a,b,c,...,n的值,并列举所有的解
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kbsoft 2003-07-12
  • 打赏
  • 举报
回复
穷举似乎不太可能的。
用DP+HASH LINK
dcyu 2003-07-11
  • 打赏
  • 举报
回复
不就是整数规划嘛,分支定界效率就挺高的。
ZhangYv 2003-07-11
  • 打赏
  • 举报
回复
用回溯法吧,类似于"百钱买百鸡"那种做法,规模也不是很恐怖就是...
HUNTON 2003-07-11
  • 打赏
  • 举报
回复
由于 a + b + c + ... + n = 15 不会非常大,穷举还是应该可以的吧,不过穷举也可以缩小范围的,例如该题中的n就是应该小于8的。这道提应该可以用递归来解的。
寻开心 2003-07-11
  • 打赏
  • 举报
回复
根据楼上的描述,使用公式(2),穷举情况,数量是N^15,依次验证。
可以使用15层循环,每个循环都有N种可能,这样可以列出所有的解。
代码大致如下

int i[15];
int value[N]
for (i[0]=0; i[0]<N; i[0]++ )
for (i[1]=0; i[1]<N; i[1]++ )
...
for (i[14]=0; i[14]<N; i[14]++)
{
int k = 0;
for (int ii=0; ii<15; ii++ )
k += value[i[ii]];
if (10000 == k )
print(有效结果)
}
计算量还是比较大的


33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧