自从转c++之后我没有再用pascal写过新的“算法”类型的程序了,直到这次。我无意中了解到了一个叫做“外观数列”的东西:1,11,21,1211,111221,312211,……相信不少人都在一些脑筋急转弯类的题目中见到过这个数列。于是去维基百科上查了一下,原来又是康威大神的杰作。他还提出了这个数列相邻两项长度之比趋近的值“康威常数”=1.303577269…,居然是一个71次方程的解。。。于是我就编了个程序验证一下(我习惯小程序用pascal写),果然是。但是给出这样的一个方程,我可没有办法解出来。于是就顺手用pascal写了一个程序求高次方程的实数的数值解,大概算法就是递归求这个多项式函数的导函数的根,之后在每两个导函数的根之间使用二分法求解。时间复杂度大概为O(N^3 log T),N是次数,T是解的范围。没有源码,相信大家也很容易写出来。不知道更快的算法应该怎么写。