科学空间:一种有趣的平方数
By 苏剑林 | 2009-07-08 | 20786位读者 | 引用数字是美丽的、极具魅力的,正如——
有这样的一种数,将其拆开成为两个数,这两个数的和的平方等于原数。例如:
$$\begin{aligned}2025=&(20+25)^2\\88209=&(88+209)^2\\152344237969=&(152344+237969)^2\\ &...\end{aligned}$$
下面是关于这类数的一些研究:
1、这类数的实质是:$(A+B)^2=10^nA+B$,而对于$(A+B)^2=kA+B$,有
$A=k/2-B\pm\sqrt{{k^2}/{4}-(k-1)B}$
因此,一般地,对于一个适合的B,可以找到两个对应的A。
增强typecho的搜索功能
By 苏剑林 | 2018-01-09 | 67121位读者 | 引用科学空间是使用typecho程序搭建的博客,侧边栏提供了搜索功能,然而typecho内置搜索功能仅仅是基于字符串的全匹配查找,因此导致很多合理的查询都没法得到结果,比如“2018天象”、“新词算法”都没法给出结果,原因就是文章中都不包含这些字符串。
于是就萌生了加强搜索功能的想法,之前也有读者建议过这个事情。这两天搜索了一下,本来计划用Python下的Whoosh库来建立一个全文检索引擎,但感觉整合和后期维护的工作量太大,还是放弃了。后来想到在typecho自身的搜索上加强,在公司同事(大佬)的帮助下,完成了这个改进。
由于是直接修改typecho源文件实现的改进,因此如果typecho升级后就可能被覆盖,因此在这里做个备忘。
探索
通过在Github检索我发现,typecho的搜索功能是在var/Widget/Archive.php
中实现的,具体代码大概在1185~1192行:
最近评论