12
返回列表 发新帖
楼主: fish7130

[ABAP] 求ABAP代码:如何得到最大值?

[复制链接]
论坛徽章:
0
11#
发表于 2012-11-30 00:04 | 只看该作者
trigger_lau 发表于 2012-11-29 21:22
为啥

所得结果范围过大,几乎毫无意义,如他所说三变量之和小于等于95,若就此断定三变量之和最大为95,将该等式代入不等式2得F2大于等于55,与题目条件不符,从而反推出楼上方法范围区间过大,对确定最大值无实际意义

使用道具 举报

回复
论坛徽章:
15
ITPUB元老
日期:2005-04-13 09:47:24管理团队成员
日期:2013-06-05 17:37:00ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主6段
日期:2012-08-09 02:21:03ITPUB官方微博粉丝徽章
日期:2011-06-28 19:45:36ITPUB年度最佳版主
日期:2011-04-08 18:37:09BLOG月度发帖之星
日期:2010-05-01 02:15:42ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
12#
发表于 2012-11-30 12:01 | 只看该作者
fxm7815 发表于 2012-11-29 23:39
如果按他的结果取F 1 + F 2 + F 3 = 95,将其带 ...

如果以F1 25,f2 45,f3 15,感觉还是挺靠谱的,只是不记得算术上的不等式是不是支持相加的处理方式

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2012-11-30 12:07 | 只看该作者
trigger_lau 发表于 2012-11-30 12:01
如果以F1 25,f2 45,f3 15,感觉还是挺靠谱的,只是不记得算术上的不等式是不是支持相加的处理方式

算术上同号不等式支持加法,但是那样所取得的区间过大,没啥用,我们需要的是能确定最大值的不等式

使用道具 举报

回复
论坛徽章:
15
ITPUB元老
日期:2005-04-13 09:47:24管理团队成员
日期:2013-06-05 17:37:00ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主6段
日期:2012-08-09 02:21:03ITPUB官方微博粉丝徽章
日期:2011-06-28 19:45:36ITPUB年度最佳版主
日期:2011-04-08 18:37:09BLOG月度发帖之星
日期:2010-05-01 02:15:42ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
14#
发表于 2012-11-30 12:12 | 只看该作者
fxm7815 发表于 2012-11-30 12:07
算术上同号不等式支持加法,但是那样所取得的区间过大,没啥用,我们需要的是能确定最大值的不等式

单从题目来看,应该是考虑算术不等式的问题,如果是实践中,反正数不大,直接穷举法

要找点算术方面的书看看

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2012-12-1 11:20 | 只看该作者
fxm7815 发表于 2012-11-30 00:04
所得结果范围过大,几乎毫无意义,如他所说三变量之和小于等于95,若就此断定三变量之和最大为95,将该等 ...

一直不存在等式。您说把该式代入不等式2得到F2大于等于55,已经用了不等式相减的思想了,本身就错的。另外这道题的条件已经得不出能再缩减范围的有效信息了

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2012-12-1 11:30 | 只看该作者
Blues_log 发表于 2012-12-1 11:20
一直不存在等式。您说把该式代入不等式2得到F2大于等于55,已经用了不等式相减的思想了,本身就错的。另外 ...

不是当不等式处理,而是当等式,因为楼上某位得出FI+F2+F3<=95,而题目要求得出三变量只和最大值,假设F1+F2+F3<=95,就是所得最终范围,将F1+F2+F3=95带入,我认为并无不妥

使用道具 举报

回复
招聘 : SAP实施
论坛徽章:
9
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010新春纪念徽章
日期:2010-03-01 11:20:53SQL大赛参与纪念
日期:2011-04-13 12:08:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:50:44茶鸡蛋
日期:2012-02-29 11:04:04鲜花蛋
日期:2012-03-13 13:54:13蛋疼蛋
日期:2012-05-28 16:48:46
17#
发表于 2012-12-6 22:17 | 只看该作者
本帖最后由 ai2ming 于 2012-12-6 22:52 编辑

这纯粹是数学题,和写代码无关,除非想暴力计算破解。


条件1:F1 + F2 <= 80
条件2:F1 + F3 <= 40
条件3:F2 <= 50
条件4:F3 <= 20
目标:F1 + F2 + F3 的最大值

按照8楼的推理:
直接把4个不等式左右两边相加得到:2F1+2F2+2F3<=80+40+50+20就可以了,最大值应该是95
那么F1,F2,F3取什么值的时候能F1+F2+F3能达到95呢?
大家说的F1=25,F2=50,F3=15,加起来只有90啊。

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2012-12-8 23:56 | 只看该作者
ai2ming 发表于 2012-12-6 22:17
这纯粹是数学题,和写代码无关,除非想暴力计算破解。

确实是90,刚无聊写了个暴力算法算了下...
void main(){
        int f1,f2,f3;
        int max=0;       
        for(f1=0;f1<=80;f1++){
                for(f2=0;f2<=50;f2++){
                        for(f3=0;f3<=20;f3++)
                                if((f1+f2<=80)&&(f1+f3<=40)){
                                        if(f1+f2+f3>max)
                                                max=f1+f2+f3;                       
                                }       
                }
        }
        cout<<max<<endl;
}

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2012-12-11 19:54 | 只看该作者
Blues_log 发表于 2012-12-8 23:56
确实是90,刚无聊写了个暴力算法算了下...
void main(){
        int f1,f2,f3;

这么多年还是C语言看了顺眼,好怀念上学那会儿

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表