1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
func fn(n) {
// 第一步:判断输入或则状态是否非法?
if (input/state is invalid) {
return
}

// 第二步:判断递归是否应该结束?
if (match condition) {
return some value;
}

// 第三步:缩小问题规模
result1 = fn(n1)
result2 = fn(n2)

// 第四步:整合结果
return combine(result1,result2)
}