Guan 发布的文章

3n + 1 问题——引发的缓存思考


问题描述

有这样一个规律:对任意大于 1 的自然数 n,如果 n 为奇数,将其变化为 3n + 1;如果 n 为偶数,将其变化为 n/2。经过若干次变化后,一定会使 n 变为 1。

如果 n = 5:

  • 5 -> 16 -> 8 -> 4 -> 2 -> 1

如果 n = 3:

  • 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1

现在,输入一个整数 n,请计算出总的变化次数。例:n = 5,l = 5;n = 3,l = 7。(l 表示变化次数)


C语言-可变参数列表


019.8.31

起步

假使你有使用 Python 编程的经验,你应该会觉得设计接口能用 *arg**kwarg 这件事是多么的酸爽。毕竟定义一个拥有长长参数列表的函数是多么的累赘,形参不能总是被函数使用到则是累赘中的累赘。多说无益,还是用个 Python Demo 举例。

假使我想设计一个打印函数,就叫 YouPrint 吧。YouPrint 会将我传递的参数按每行打印,且排头以 “You” 开头。使用如下:

Usage: 
YouPrint("zhong", "ying", "ding")

Output:
You: zhong
You: ying
You: ding


C语言中的静/动态库文件


起步

之前一直对 .a .so 文件的存在犯迷糊。现在想来,之所以当时会有不解,是因为从没用 C 语言写过项目,顶多只是语法的测试,以及一些算法实现。现在略微搞明白些了,于是有了这篇总结。


理解 MySQL 中的 JOIN 与 UNION


019.8.3

起步

最近公司接到一个项目,任务是根据需求制表。完整过程是:用 SQL 汇总数据,再写进 Execel 文件中。SQL 这门课倒是大学里学过,过久不用,不记得许多,顶多 SELECT 几下。总之是勉强应付。

这周五接到一个需求,差点应付不过去,卡在联表操作上了。午觉再不敢睡,总结 MySQL 查询时的多表联合。临阵磨枪管用,当测试发来 “OK” 的时候我这样想。

笔记至此,遗忘再寻。