代码改变世界

随笔档案-2011年12月26日

开发一个小工具重温C#经典问题

2011-12-26 22:53 by htc开发, 298 阅读, 收藏,
摘要: 利用业余时间为公司的国际化开发一个小工具,功能很简单,但可以重新温习C#的一些经典问题。1. 两个基本功能根据源文件和新文件对比,生成对比结果文件。对比结果要包括:新文件中更改的词条、新加的词条、删除的词条。输入文件格式:文件开头有些注释,正文的每行由id号、空格、引号围绕的词条三部分。对比结果文件格式:实例1:txt1.txt(源文件)----------id1 "a"id2 "b"id3 "c"txt2.txt(新文件)----------id1 "a2"id3 "c"id4 "d 阅读全文

很牛的牛顿迭代法

2011-12-26 22:33 by htc开发, 197 阅读, 收藏,
摘要: 在MIT公开课《计算机科学与编程导论》的第五讲中,讲到编写求解平方根的函数sqrt时,提到了牛顿迭代法。今天仔细一查,发现这是一个用途很广、很牛的计算方法。首先,考虑如何编写一个开平方根的函数sqrt(float num, float e)。参数num是要求开平方根的实数,参数e是计算结果可以达到多大误差。这是一个无法得到精确解,只能求出近似解的问题。该如何编写呢?1. 传统的二分法我们可以先猜测一个值作为解,看这个值是否在误差范围内。如果没有达到误差要求,就构造一个更好的猜测值,继续迭代。猜测值可以简单地初始化为num/2,但怎样在下一轮迭代前构造一个更好的猜测值呢?我们不妨参照二分查找算法 阅读全文