计算机专业本科就业和硕士就业的成本比较

基础设定: 仅以薪资作为计算对象, 默认硕士读三年, 不考虑读研期间的学杂费, 生活花销.

  本科毕业即就业的底薪为 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
#include <iostream>
#include <cmath>

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年的职业规划来说,硕士应该是稳赚不赔的。有什么问题,过路大神多指教。