摘要: 问题描述: 计算X^N. 算法思想: 如果N是偶数,我们有X^N = X^(N/2) × X^(N/2),如果N是奇数,则X^N = X^(N-1)/2 × X^(N-1)/2 × X。 算法描述: long intPow(long int X, unsigned int N){ if(N == 0) return 1; if(N == 1) ... 阅读全文
posted @ 2014-02-27 21:22 ITtecman 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 欧几里德算法: 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数(The greatest common divisor)。 其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) (a>b 且a mod b 不为0) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a,d|b,而r... 阅读全文
posted @ 2014-02-27 21:01 ITtecman 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定一个整数X和整数A0,A1,...,A(N-1),后者已经预先排序并在内存中,求使得Ai=X的下标,如果X不在数据中,则返回i=-1. 算法描述: intBinarySearch(const ElementType A[], ElementType X, int N){ int Low, Mid, High; Low = 0; High = N - 1; ... 阅读全文
posted @ 2014-02-27 20:45 ITtecman 阅读(1651) 评论(0) 推荐(0) 编辑
摘要: 在进程间传送打开的文件描述符的能力是非常有用的,可以用它对客户进程/服务器进程应用进行不同的设计。它使一个进程(一般是服务器进程)能够处理为打开一个文件所要求的一切操作(具体如将网络名翻译为网络地址、拨号调制解调器、协商文件锁等)以及向调用进程送回一描述符,该描述符可被用于以后的所有I/O函数。涉及打开文件或设备的所有细节对客户进程而言都是隐藏的。 下面进一步说明从一个进程向另一个进程“传送一打... 阅读全文
posted @ 2014-02-27 14:06 ITtecman 阅读(8903) 评论(2) 推荐(0) 编辑