随笔分类 -  基础算法

摘要:序: 很多时候我们要处理两个数的最大公因数,比如分数化简。因此需要一种高效率的方法找到最大公因数。 朴素法: void Gcd(int &a, int &b) { int i, j, curr = min(a,b); //从两数最小值开始 for(unsigned j = 1; j != 21; + 阅读全文
posted @ 2017-04-20 11:08 箜瑟_qi 阅读(406) 评论(0) 推荐(0)
摘要:引子: 我现在想知道1——1e8的范围内有多少个素数(质数),有什么方法? 朴素法,对于每一个数n,我们判断它是否是素数。 像这样: bool check(int curr) { int i; for(i = 2; i < sqrt(curr)+1; ++i) { if(curr % i == 0) 阅读全文
posted @ 2017-04-10 00:49 箜瑟_qi 阅读(420) 评论(0) 推荐(0)
摘要:快速幂原理解析与其他方法回顾 目录: 一.回顾朴素法与使用库函数,分析利弊。 二.引例:指数的分解,即快速幂的原理。 三.源代码。 正文: 一.回顾 1.1.已知的方法 关于求a的n次方,有几种做法呐?对于初学者来说有两种。如下所示 观察poww1,一个明显的问题便是它的时间复杂度比较高,是O(n) 阅读全文
posted @ 2017-02-18 13:36 箜瑟_qi 阅读(2040) 评论(0) 推荐(0)