02 2013 档案

摘要:刚刚注意到原来notepad++有很多插件,像spell checker,compare,explorer都挺有用的,打开插件——plugin manager——show plugin manager 还有很多很fancy的插件,如speech——读文件,不过磕磕绊绊;multiclipboard——多个粘贴板;snippets——快速键入常用短语、代码等;subversion,Tortoise... 阅读全文
posted @ 2013-02-26 23:27 ttang 阅读(399) 评论(0) 推荐(0)
摘要:一个递归算法 bool isbalance(字符串s,未匹配的左括号数unmatched, 当前要考察的字符位置idx) (1)考察字符串s从idx开始到末尾的子字符串,若为空或只包含一个字符,讨论可得,是边界情况 (2)否则,考察子字符串前两个字符,即s[idx]和s[idx+1],如果是笑脸或哭脸,考虑两种可能性,解释为表情或左右括号,记录未匹配的左括号数;若为其他字符,相应考虑unma... 阅读全文
posted @ 2013-02-26 22:52 ttang 阅读(432) 评论(0) 推荐(0)
摘要:第一个判定完全平方数函数:bool judge(int m){ double x = sqrt(m); if (floor(x) == x) { return true; } return false;}经过测试,表明这个函数对每个int范围内的正整数都能给出正确的判断当m是完全平方数时,m的算术平方根可以用double精确表示(因为是整数),所以不会产生精度损失,floor(x)==x成立当m不是完全平方数时,就要靠测试了,看看对于较大的k,double类型能否区分k2的平方根和k2+1的平方根,测试证明,k2在int范围内时,可以。第二个判定完全平方数... 阅读全文
posted @ 2013-02-01 17:24 ttang 阅读(2774) 评论(0) 推荐(0)
摘要:本篇讨论判定一个long long类型的整数是否为完全平方数。long long类型的判定比较困难,因为(1)long long转换为double会损失精度,其实这个似乎不是大问题,因为转换成long double似乎就不会损失精度了(C语言没有明确规定long double的格式,在大多数实现中是IEEE754 extended format,80 bits,有64位有效数字)(2)对于较大的k,long double能否区分k^2和k^2+1的平方根,这决定着我们能否通过“判定一个数的平方根是否为整数”来判定这个数是不是完全平方数。long long i = 3037000499ll;// 阅读全文
posted @ 2013-02-01 17:24 ttang 阅读(1342) 评论(0) 推荐(0)
摘要:本部分介绍相关背景知识1、C语言的char, short, int, long, long long类型都是由C自身规定的,但是float, double, long double都是没有规定的(unspecified),但大多数平台上的实现遵从IEEE754标准(参见http://en.wikipedia.org/wiki/C_data_types)(C99标准似乎规定了float对应IEC60559 single format,double对应IEC60559 double format,long double推荐实现为IEC60559extended format,参见C99标准文档44 阅读全文
posted @ 2013-02-01 17:23 ttang 阅读(662) 评论(0) 推荐(0)