|
其实我的代码是可以优化的.
lastcount这个参数作为一个指针传入的话可以减少递归的次数.
例如,
在递归倒数第2层得到eachcount为a值不能被倒数第一层返回的tempcount整除时,lastcount++, 重新递归, 直到eachcount被上一层返回的tempcount整除,假设已经是lastcount+50的情况了,接着返回到倒数第3层时, 可能会发现, eachcount不能被倒数第2层返回的tempcount整除, 于是lastcount++, 注意到, 这里面lastcount是重新递归的, 其又得进行lastcount到lastcount+50这段递归过程, 而实际上这段在前面已经递归过证实了是不可行的, 所以, lastcount作为指针传入, 递归的临时结果得以保存, 独立于递归函数之外, 我们在前面计算的lastcount的功夫就不会被白费掉. |
|