FreedomLy's blog.

FreedomLy's blog.

你好 Hello こんにちは

【每周一坑】注册表单验证

用Python实现类似于网页表单信息验证的功能。

基本要求:

  1. 需要输入邮箱地址、密码两项
  2. 邮箱地址需要满足形如xxx@xxx.xx的正常邮箱格式,(中间有一个@,后半段至少有一个.),并且不包含空格
  3. 密码需要8位以上,必须包含大写字母、小写字母和数字三种字符(三种都要有)
  4. 重名验证
二叉树相关问题(转载)

文章转自 http://blog.csdn.net/walkinginthewind/article/details/7518888

二叉树

树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,当然有些题目非递归解法也应该掌握,如非递归遍历节点等等。

UTF-8 码点

UTF-8的编码单元是8位字节,每个码点编成1至4个字节。它的编码方式很简单,按照码点的范围,把码点的二进制位拆分成1至最多4个字节:

【每周一坑】阿姆斯特朗数

armstrong
快一个月没写博客了,整个七月确实比较忙,也没什么时间弄管理博客(虽然就我一个人会看这个Blog…),今天诈尸更新一下~~

一个经典的编程练习题:

如果一个n位正整数等于其各位数字的n次幂之和,则称该数为阿姆斯特朗数(亦称为自恋数、自幂数)。
如 $407 = 4^3 + 0^3 + 7^3$ 就是一个阿姆斯特朗数

问题

输出1000以内的所有阿姆斯特朗数。

附加题

输入一个整数,输出距离它最近的阿姆斯特朗数。

【每周一坑】罗马数字转换

roman

罗马数字是欧洲在阿拉伯数字传入之前使用的一种数码,现在的使用已经非常少了,大概偶尔会在钟表、文章中的标号等地方还能见到。

罗马数字采用七个罗马字母做数字,即I(1), V(5), X(10), L(50), C(100), D(500), M(1000)。它有一套不同于阿拉伯数字的写法规则,简单来说可以总结为:

  1. 相同的数字连写,所表示的数等于这些数字相加得到的数,如 Ⅲ= 3
  2. 小的数字在大的数字的右边,表示的数等于这些数字相加得到的数,如 Ⅷ=8, Ⅻ=12
  3. 小的数字(限于Ⅰ、Ⅹ、C)在大的数字的左边,所表示的数等于大数减小数得到的数,如Ⅳ=4、Ⅸ=9
  4. 在一个数的上面画一条横线,表示这个数曾1000倍
【每周一坑】螺旋矩阵

螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环。
matrix

C++中的explicit关键字

隐式的类类型转换

在介绍explicit关键字之前,先来了解一下什么是隐式的类类型转换,C++ Primer第五版中的描述如下:

如果构造函数只接受一个实参,则它实际上定义了转化为次类类型的隐式转换规则,有时我们把这种构造函数称作转换构造函数(converting constructor)

【每周一坑】校验文件哈希

hash

我们经常看到软件的下载页面会注明这个软件的哈希值。可能你从没注意,但这其实是个蛮重要的东西,它可以用来验证你下载的软件是否被人动过手脚。
早些时候Mac上爆出XCodeGhost木马事件,引发的一个重要环节就是因为部分开发人员既没有从官方渠道下载,也没有验证软件哈希值,以至于使用了被植入代码的开发工具。

C++ Primer 第五版 练习 12.33

C++ Primer 第五版 第12章的动态内存终于(zou)看(ma)完(guan)了(hua)!!!记录一下本章的最后一个大练习——文本查询程序

avatar
Freedomly
Hope is a good thing, maybe the best of things, and no good thing ever dies.