基础设定: 仅以薪资作为计算对象, 默认硕士读三年, 不考虑读研期间的学杂费, 生活花销.
设
本科毕业即就业的底薪为 x , 提薪速度为 y, 收益 totalMoney.
硕士毕业就业底薪为 m , 提薪速度为 n, 收益 totalMoney.
t 为本科毕业的工作时间, 以年为单位.
公式(即等比数列求和):
本科生:
硕士:
化简得到代码中的公式.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class SunkCost {
public:
double yearCost(double undergraduate, double times, double base_salary_times) {
int year = 3;
double master = times * undergraduate;
double left = undergraduate - undergraduate * pow(1 + master, year - 3);
double right = master - master * pow(1 + undergraduate, year);
while (left >= right) {
++year;
left = base_salary_times * undergraduate - base_salary_times * undergraduate * pow(1 + master, year - 3);
right = master - master * pow(1 + undergraduate, year);
}
return year;
}
void printYearCost(double undergraduate, double raise_rate_times, double base_salary_times) {
std::cout << "硕士起薪倍数: " << base_salary_times << std::endl;
std::cout << "本科生提薪速度: " << undergraduate << std::endl;
std::cout << "硕士研究生提薪速度: " << undergraduate * raise_rate_times << std::endl;
std::cout << "硕士追上本科就业需花: " << yearCost(undergraduate, raise_rate_times, base_salary_times) << std::endl;
}
};
int main() {
SunkCost sunkCost;
sunkCost.printYearCost(0.2, 1.5, 2);
return 0;
}
运行结果:
硕士起薪倍数: 2
本科生提薪速度: 0.2
硕士研究生提薪速度: 0.3
硕士追上本科就业需花: 8
限于本渣知识面的狭窄,可能很多因素没有考虑在内。 但我认为如果计算方法没错的话,也可当个参考。以40年的职业规划来说,硕士应该是稳赚不赔的。有什么问题,过路大神多指教。