UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般用其来修改EXE 或 DLL 文件。能够满足你一切编辑需要的编辑器。

  虽然UltraEdit非常强大,默认却没有对MASM的语法高亮的支持!本来汇编代码敲起来就麻烦,要是编辑器不友好点,是非常挫伤积极性的!
  如何为UltraEdit增加对MASM的语法高亮呢?首先需要明白UltraEdit通过什么方式读相关的配置文件。
  UltraEdit通过读取.uew文件,对当前打开的不同后缀明的文件进行语法匹配,并且显示不同的颜色。也就是说,不同的编程语言,应该有不同的.uew文件。

Read the rest of this entry

, ,

  转自前辈们的告诫,冰冻三尺,非一日之寒。
  我觉得其中很多道理,不只用在学IT,其他事情也是这样!


1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。
2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。   
3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。  
4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。

Read the rest of this entry

, ,

  编写一个程序,读入一个正整数,把所有的连续的,和与给定的正整数相等的正整数们找出来。例如,如果输入为27,于是发现2+3+4+5+6+7,8+9+10,13+14为27,那么共有3个组合。如果输入的数字是10000,那么就有18加到142,297加到1328,388加到412以及1998加到2002这4组。

  通常的算法是,将所有小于n/2的连续正整数的和的情况算出来与n比较。

Read the rest of this entry

, , ,

  今天捣鼓了以下Python的urllib模块,闲着无事,下个命令行下的下载器程序。

  通过调用模块的urlretrieve方法获取远程文件,并且用自定义函数来处理下载过程中的显示问题。

  

Read the rest of this entry

, ,

  Fibonacci数列是指1, 1, 2, 3, 5, 8, 13, 21, 34, ····这样的数列。用式子描述即f1, f2, fn, f1=1, f2=1, 其后fn=fn-1+fn-2。

  现在考虑,如何写一个程序,接受参数n,返回第n个fibonacci数值呢?

  通常的办法是用递归:即从n开始,依次调用自身求出f(n-1)和f(n-2)。代码如下:

Read the rest of this entry

, , ,

  如果n与m是整数,那么m^n就是求m的n此方,即把m连乘n次!
  用算法描述起来很简单!在n次循环内不断自乘m,或者递归调用n次乘法即可,但是这极其没有效率!

  其实,可以将指数运算分解。注意到x^4可以由x^2自乘得到。

  思路:当求m的n次方时,n可能是2k(偶数),可能是2k+1(奇数),可能是0(不需要乘).那么在计算m^n时,可以分成3部分进行递归。第一部分:n为0,不用计算。第2部分:n是偶数,递归计算m的n/2次方。第三部分:n是奇数,即表示为n=2k+1,那么递归调用计算m的n/2次方,再自乘m即可。

Read the rest of this entry

, , ,

  根据算数基本定理,任何一个整数n>1都可以表示为素数的乘积,切在不考虑顺序的情况下,该表达式是唯一的!即n=p1·p2·····pn。

  写一个程序,读入一个正整数,把它的所有质因子找出来。例如,输入是72,72=2³·3²。质因数有2和3,为方便起见,将输出写成因数(指数)的形式!如输入72,则输出为2(3)3(2)。

  思路:用质数依次去除n,从2开始一直到除不尽为止。如果除了i次,那么有2(i)。同样的道理3,5,7,···也按同样的办法处理!每一次除不尽时的余数,作为下次的被除数!

  代码如下:

Read the rest of this entry

, , ,

  在用“筛法”求素数时,每次筛除素数的动作,其实有很多是重复的!比如,如果一个数是3*5*7*9,那么删除的时候,它会被作为3的倍数,5的倍数,7的倍数,9的倍数,被重复判断删除4次。类似的,较大的数有较多的因数,那么,删除它所耗费的时间会很多!如何来优化“筛法”的算法,使之不重复呢?

  思路如下:从2开始,先删除2²,2³,2³,···,接着删除2·3,2²·3,2³·3,···,而此时并不删除3。再删除2·5,2²·5,2³·5,···,接下来2·7,2²·7,2³·7,···。一般而言,当发现p是一个素数时,先删除p²,p³,p³,···这一系列合数。因为p是素数,所以p²,p³,p³,···不可能被其它数整除。接着,找出比p大,但是第一个没有被删除的数q。再删除p·q,p²·q,p³·q,···。因为p是素数,q为目前为止未删除。所以p^¡·q之前也没有被删除。

Read the rest of this entry

, , ,
Navigation »