首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >白天加班计算赔率

白天加班计算赔率
EN

Stack Overflow用户
提问于 2014-05-06 20:57:27
回答 1查看 70关注 0票数 0

我有一个小问题要解决,通过反复试验,我不能解决它。

我有五个变量:

代码语言:javascript
复制
a = 100
b = 7
c = 0
d = 24 * 60 * 60 // total seconds in one day
e = NN // seconds in the day so far, it's variable

我使用它来减少一天中随时间推移的#a# (100),具体取决于#e#。这很简单,目前已经完成了。

现在我需要介绍#b#和#c#;当#b#不变时;#c#会变,可以从0到6,总是从零开始,一天中递增到7(这是随时随机添加的)

这就是我努力的地方,所以更多地解释一下:

目前,当:e= d/2 (一天的一半)时,结果将是:(a - 50)。

进行更改后,如果#c#为零,结果应该是相同的(在我的示例中为50)。但是当#c#不是=>时,结果应该是50+someMagicNumber。为什么?因为#c#更接近达到极限(#b#)

我不擅长数学,而且我正在写这篇文章可能会帮助我理清思路:);如果有人理解我想要做的事情并有任何想法,我会很感激的;也请原谅我的英语。

ps:一旦#c#达到7,整个事情就完成了,而这个计算并没有完成。因此#c#将始终为< #b#

EN

回答 1

Stack Overflow用户

发布于 2014-05-06 21:21:22

看起来您要计算的表达式是a * (c + e/d)。您说ad是常量(不能变化),而ce是变量。顺便说一下,d是86400 (24*60*60的值)。

首先让我们考虑一下c为零的情况。如果c为0且e为0,则结果为0。如果c为0,e为1,则结果为100/d,即1/864。如果c为0,e为2,则结果为2/864,依此类推。每增加一次e,结果就增加1/864。

如果c为0且ed - 1,则结果为100 - 1/864。这是你一周第一天的最后一秒。对于下一种情况,您应该设置c为1,e为0,而不是设置e == d。你的结果应该再增加1/864,所以结果恰好是100。

所以从c==0e==0到case c==1e==0,你的结果增加了100%。每次你给c加1,你的结果就会再次增加100。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23495395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档