数学建模 算法

命题:上下班有4个点,分别是9点、12点、13点、18点。随机给出两个点开始点和结束点,例如10点来公司,14点离开公司,建立数学模型得出在公司上班几个小时,上例是3个小... 命题:上下班有4个点,分别是9点、12点、13点、18点。随机给出两个点开始点和结束点,例如10点来公司,14点离开公司,建立数学模型得出在公司上班几个小时,上例是3个小时。
我的设想是10点和14点分别和4个点做差得到8个数,将这8个数通过建立算法得到是3个小时,但还没做出来,请高人帮忙,感激涕零。
非常感谢以上两位建议,但还是有实现不了的情况,有可能两个时间都在上午,或都在下午。
我是想能不能分别做差,得到一堆数据后,再建模算出结果。
展开
ipanda2009
2009-12-28 · TA获得超过3349个赞
知道小有建树答主
回答量:831
采纳率:75%
帮助的人:631万
展开全部
设A点上班,B点下班

楼主说的有道理,考虑到A和B都在上午或下午的情况,需要修改一下公式:

总上班时间为:
max(0, (min(B,12)-max(A,9))) + max(0, (min(B,18)-max(A,13)))

其中 min/max 函数表示两变量之间取较小/大值
你可以代入公式验算一下。

基本思路是分别计算上午和下午各上了几小时班,然后相加。

关于楼主说的算出几个差值,然后“建模”的想法,
因为这个函数是不连续的,必须要加入判断处理,在C语言中是IF语句,
用公式表达就是这里的 MIN 和 MAX
靠加减乘除做表达式,好像做不出不连续函数。
yangzhoutcy
2009-12-28 · TA获得超过484个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:197万
展开全部
很简单啊
如果编程的话,分情况考虑,用判断做就好了啊,几个if语句就能搞定啊,情况很少哎;
如果用数学结果表示的话,
给出上下班点为x,y
(min{y,18}-max{x,9})-(min{y,13}-max{x,12})
前半是不考虑中午休息的上班时间,后半减去中午休息
没错吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx198799
2009-12-27 · TA获得超过1225个赞
知道小有建树答主
回答量:509
采纳率:100%
帮助的人:281万
展开全部
例如10点来公司,14点离开公司,建立数学模型得出在公司上班几个小时,上例是3个小时。

为什么?你的命题我没看明白,能解释一下吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式