社区
数据结构与算法
帖子详情
求一个递归算法的问题!
webgdd
2003-11-15 09:51:18
现有一级变量,X(i),i=1...n,n的大小未知,和一组约束条件,R(i),0<=X(i)<=R(i),现求一算法,使得X(1)*X(2)*....X(n)最大,而且X(1)+X(2)+....X(n)=M,M为已知常数。要求用户递归算法解决,因为n未知,不能用户嵌套的循环方法。
...全文
33
8
打赏
收藏
求一个递归算法的问题!
现有一级变量,X(i),i=1...n,n的大小未知,和一组约束条件,R(i),0<=X(i)<=R(i),现求一算法,使得X(1)*X(2)*....X(n)最大,而且X(1)+X(2)+....X(n)=M,M为已知常数。要求用户递归算法解决,因为n未知,不能用户嵌套的循环方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
saint001
2003-11-16
打赏
举报
回复
考虑用动态规划?
webgdd
2003-11-16
打赏
举报
回复
to: plainsong(短歌)
你的方法不错,可是如果我的X变量为(X(i)+A(i))^B(i)/C(i),有没有什么好的方法?
A、B、C为常数
zhouqingyuan
2003-11-16
打赏
举报
回复
用递归要方便一点
zhouqingyuan
2003-11-16
打赏
举报
回复
有道理
Riemann
2003-11-16
打赏
举报
回复
plainsong(短歌)正解。
短歌如风
2003-11-16
打赏
举报
回复
没看到约束值……
我觉得应该这样:
找到最小的j使得R(j)是R中的最小值,如果R(j) >= M/n,则所有的X(i)= M/n;否则:
X(j) = R(j);
从R中去掉R(j),从M中减去X(j),X中去掉X(j),n = n - 1,再求解X。
可以用循环,也可以用递归。
短歌如风
2003-11-16
打赏
举报
回复
不需要递归,当X(1) = X(2) = ... = X(n) = M/n时最大。
ZhangYv
2003-11-16
打赏
举报
回复
如果有约束条件X(1)+X(2)+....X(n)=M,当每个的X(1)可以取M/n时候最大,也就是最大不超过(M/n)^n;如果没有约束,S=X*Y,X一定,Y越大S也越大。
根据上面两个条件就可以设计算法了。
使用
递归算法
实现n!
递归算法
一定要有条件!1、当n=0,1时,n!
Java:用递归计算n!
【代码】Java:用递归计算n!
用一行代码实现java
递归算法
的阶乘10!
一行代码实现java
递归算法
的阶乘用
递归算法
求
10! 用
递归算法
求
10! 10! 就是
求
10的?阶乘的表达式,如何用
递归算法
来计算呢? 10x9x8x7x6x5x4x3x2x1=? 所谓
递归算法
,就是自己调用自己的算法;但是自己调用自己...
C语言递归函数
求
n!的两种写法---详细讲解
递归函数:在调用
一个
函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。 题目:
求
n!的阶乘,n需要手动输入
一个
数。 解题思路:假设我们是
求
5的阶乘5!,那么我就要知道4!等于多少?要知道4!是...
c++ 递归
求
n!
//递归输出n! #include <iostream> using namespace std; long fac(int n) { if (n == 1) return 1; else return n*fac(n - 1); } int main() { int n; cout << "请输入n的值:"; cin >> n; ...
数据结构与算法
33,029
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章