Ham*_*jan 5 language-agnostic math function
这不是作业,因为我不是学生.这是为了我一般的好奇心.如果我在这里重新发明轮子,我道歉.我寻求的功能可以定义如下(语言不可知):
int getPercentageOfA(double moneyA, double workA, double moneyB, double workB)
{
// Perhaps you may assume that workA == 0
// Compute result
return result;
}
Run Code Online (Sandbox Code Playgroud)
假设爱丽丝和鲍勃想要一起做生意......比如......卖旧书.爱丽丝只对将钱投入其中而感兴趣.鲍勃可能会投资一些钱,但他可能没有可用的投资.然而,他将努力寻找卖方,买方和进行维护.
没有工具,教育,医疗保险费用或其他费用需要考虑.爱丽丝和鲍勃都希望"平等地"分配利润(高级用户的权重不同,如40/60).两者都是企业家,所以他们处理低投资回报率/工资和高收入.没有固定工资,最低工资,固定投资回报率或最低投资回报率.他们试图找到最好的交易,承担风险并为此而努力.
现在,让我们坚持使用50/50型号.如果爱丽丝投资100美元,鲍勃投资工作,他们将获得60美元的利润(或损失),他们将平均分配 - 要么他们的努力/投资得到30美元,要么鲍勃最终欠爱丽丝30美元.
第二种可能性:爱丽丝和鲍勃都投资100,然后鲍勃完成所有工作,他们最终获得了60美元的利润.看起来爱丽丝应该只得到15美元,因为30美元的利润来自鲍勃的投资和鲍勃的努力,所以爱丽丝将没有它,而另外30美元将被分成50/50.
即使A和B想要分割它35/65或者你有什么,上面的两个例子都是微不足道的.现在它变得更加复杂:如果爱丽丝投资70美元,鲍勃投资30美元+完成所有工作.看起来很简单:(70,30)=(30,30)+(40,0)......但是,如果我们只知道如何相对于彼此称重这两个部分.另一个复杂的(我认为)例子:如果爱丽丝和鲍勃分别投资70美元和30美元,并且投入相同数量的工作怎么办?
我有一些数据点:
如果我解决的事情,使得总workA = 0%,workB = 100%总的工作,然后getPercentageOfA成为一个功能:高度z给予x和y.问题是 - 你如何在这几点之间推断这个函数?这个功能是什么?
如果你可以覆盖工作A不必0%完全工作的情况,并且当投资与工作分成85/15或使用其他模型时,新功能会是什么?
回答这个问题取决于您认为哪个变量具有更大的权重。根据您的数据点,我假设 100% 的工作相当于投入 100% 的资金。
int getPercentageOfA(double moneyA, double workA, double moneyB, double workB)
{
// Perhaps you may assume that workA == 0
aWorkPercentage = getPercentageOfAForWork(double workA, double workB);
aMoneyPercentage = getPercentageOfMoney(double moneyA, double moneyB);
weightMoney = 1;
weightWork = 1;
result = ( weightWork*aWorkPercentage + weightMoney*aMoneyPercentage) / 2
return result;
}
Run Code Online (Sandbox Code Playgroud)
分别计算每个变量,然后将它们一起平均。这个公式的优点是,如果甲人和乙人决定将工作视为比金钱更有价值,反之亦然,则可以调整“权重”以反映最终的百分比。