证明 1+1/2+......+1/n不是整数 闲来无事翻翻初等数论,顺便编写习题解答,全当是学习数论的同时练习LaTeX了,不想第一节的最后一道习题就难住了,苦思良久无果之后,群里有同行在《初等数论100例》中竟然找到了该题,我大体看了下它的证明,可读性不太理想,但思路倒是记住了,今天无聊顺手整理一下。求证 1+12+⋯+1n1+\frac{1}{2}+\cdots+\frac{1}{n} 不是整数。证明: 对正整数ii,将它的因数中的2全部分
实现一个微型的日志库 序言对一个服务端程序来说,日志是用于发现系统问题,诊断系统运行情况的一个重要工具,所以日志库的设计要以帮助跟踪程序运行状态为宗旨,这篇文章来源于最近我在一个通信协议库中所写的一个微型的日志组件,总共也就两百来行代码,实现了日志的搜集、过滤、输出功能。日志库的功能一个日志库,应该把来自于程序各个部分的日志信息搜集起来,按照一定的过滤规则(通常是按日志级别过滤),将通过过滤的日志信息输出到指定的目标地点
利用模板偏特化实现编译期断言 利用模板偏特化实现编译期断言断言在C/C++语言中的作用有目共睹,但它只能在运行期起作用,有时可能会希望在编译期检查某个条件,不成立就产生一条编译错误信息,比如你写了一个模板,但是希望模板的参数只能是整数类型,用其它类型对模板进行实例化时干脆让它通不过编译,怎么样,听起来是不是很酷?利用模板的偏特化,轻轻松松就能实作出来,请看:template<bool>compile_assert;templa
椭圆极点极线初探 椭圆乃中学数学的一项重要内容,其形状之优雅大概迷倒了不少青春少年,然而除了欣赏其外观之美外,作为学生还应该发掘其内在之美,即数学美。本文就椭圆的一些问题作一概要叙述。椭圆曲线将其所在平面分成了三个部分:椭圆内部、椭圆曲线上、椭圆外部,对于椭圆曲线上的点,正如大家所熟知的,它们的坐标都满足椭圆的方程: x2a2+y2b2=1 \frac{x^2}{a^2}+\frac{y^2}{b^2}=1
MinGW 使用 mintty 终端替代默认终端以解决界面上复制与粘贴的问题 使用了一段时间的 cygwin,挺开心的,又尝试了下同类工具 Msys + MinGW,安装好之后发现它居然使用默认的 cmd 作为终端,界面输出的复制与粘贴极其不便,我记得 Cygwin 使用的是 mintty 的终端,没有这个不便,于是打开 msys.bat 瞧了一眼,发现下面这段文本这说明 MinGW 是可以使用 mintty 终端的,内心一喜,立即更换,先给它下载安装 mint
VirtualBox利用启动优盘安装虚拟机 近日需要在 VirtualBox 下安装一个 ubuntu 系统的虚拟机,但手头没有 ubuntu 的 ISO 镜像文件,但以前做过一个 ubuntu 的启动优盘,可以用来安装系统的,于是在网上搜了一下,还真可以,与用 ISO 镜像文件安装相比,就多一步,就是要先创建一个指向优盘的虚拟硬盘,然后在虚拟机的存储器中添加这个虚拟硬盘(而不是 ISO 镜像文件),然后启动虚拟机就可以开始安装了,下面是创
[倚天屠龙记] vim 查找与替换(正则表达式) [倚天屠龙记] vim 查找与替换(正则表达式) {{{ 正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代化的编辑器,这绝非虚言。 正则表达式是模式匹配的高峰,它用一些特殊符号代表一些特殊意义,例如用星号代表它前面的元素可以出现任意次数(包括零次),用[0-9]
[倚天屠龙记] vim 查找与替换(简单替换) [倚天屠龙记] vim 查找与替换(简单替换) {{{ 厌倦了小说式的叙述方式,现在换一种方式来总结vim的替换功能,跟查找一样,本文只讲述最基本的替换,不牵扯到正则表达式,相关的帮助文档是:help :s。 vim中用于替换的通用命令如下: :[range]s/{pattern}/{string}/[flag] 这个命令中,
[倚天屠龙记] vim 查找与替换(简单查找) [倚天屠龙记] vim 查找与替换(简单查找) {{{ 搜索与替换是文本编辑器的最重要的功能之一,也是编辑器能力的一个缩影。 接下来用几节的篇幅重点叙述vim的查找与替换功能。 这一节只讲述vim的简单搜索功能,所谓简单,是相较于后续章节的正则表达式和高级查找替换而言的,这一节的主要内容是:基本的搜索命令/和?,单词搜索命令*和#,循环搜索,高
[倚天屠龙记] vim 折叠 这一节讲述vim的一个非常实用的功能----折行功能,它可以将暂时不关心的连续若干行折叠成一行显示,在需要时可以进行展开。下面这是本文写作时的情形: 折叠的主要创建方式有手工创建、语法折叠、按缩进等级折叠、按起止标记折叠。要查看折叠的帮助请输入:help fold。 折叠相关的命令大都以字母z打头,这个字母本身给人以一种折叠的印象。
[倚天屠龙记] vim 标记 像adobe reader这样的pdf阅读器在窗口左侧有一个书签栏,其中列出了pdf文件的目录结构,以方便在pdf文件的章节目录中进行快速跳转。无论是pdf的阅读器还是其它的普通文本编辑器,通常都有一个历史文件列表,其中记录了最后若干次打开的文件,以方便用户快速的查看最近查看过的文件。类似的功能vim自然也有,这就是它的标记功能。vim的移动命令已经相当丰富和灵活,在标记功能的帮助下,你浏览文
[倚天屠龙记] vim 复制与粘贴 对于任何一款文本编辑器而言,复制与粘贴都是最基本的功能,vim在此方面自然不甘示弱。事实上,得益于其丰富的移动命令,vim的复制与粘贴是相当快捷而高效的。vim的复制命令是y和Y,它是yank的简写,粘贴命令是p和P,是paste的缩写。y可以复制任何文本块,而Y是整行整行的复制,p是粘贴到光标之后,P是粘贴到光标之前。要查看这两个命令的帮助请分别输入:help y和:help p。y命令
[倚天屠龙记] vim 开篇 武林至尊,宝刀屠龙,号令天下,莫敢不从!倚天不出,谁与争锋? vim与emacs两大编辑器之间的圣战由来已久,似乎也看不见和平的希望。vim自称编辑器之神,而emacs则自封神之编辑器。vim以快捷高效的键盘操作著称,emacs则凭借强大的脚本语言elisp号称扩展性世界第一。vim用户吐槽emacs烦琐的组合键操作方式,emacs社区则鄙视vim的多模式切换。vim和e
cygwin的安装与配置 百度百科是这样介绍cygwin的: Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入
[倚天屠龙记] vim 光标移动(入门) 我喜欢上vim的重要因素之一就是vim快速而精准的移动定位能力,就目前所流行的众多编辑器之中,无出其右者。最基本的移动命令是 h j k l,分别代表向左下上右四个方向移动一个字符,效果等同于四个方向键,在vim诞生的那个年代,键盘上还没有方向键的设置,所以vim的作者就用了右手高频键区的这四个键代替,在今天看来,这四个键仍然优于方向键,因为右手手指无需离开高频键区。h和l命令在默认情况下,光
C语言字符串分割函数 自己写了一个字符串分割函数,可以根据提供的分隔符串列表将指定的字符串分割为若干个字符串,分隔符可以是单个字符也可以是字符串,可以设定是否压缩分隔符串(即当两个或者两个以上分隔符串连续出现时不生成空串),也可以设定是否把查找到的分隔符串也插入到结果中。需要注意的是结果是动态分配的内存,使用完毕后需要自己释放。#include #include #include /** * Split