踩坑记---命名空间污染

踩坑

今天运行如下代码时:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cctype>
#include <algorithm>
using namespace std;
int main()
{
/*other code*/
istream_iterator in_iter(fin), eof;
while(in_iter != eof)
{
string s = *in_iter++;
string word;
remove_copy_if(s.begin(), s.end(),
back_inserter(word), ispunct);
}
/*other code*/
}

在mingw492_32下编译提示如下错误:

no matching function for call to ‘remove_copy_if(std::basic_string::iterator, std::basic_string::iterator, std::back_insert_iterator<std::basic_string >, < unresolved overloaded function type>)’ std::back_inserter(word), ispunct);

软件折腾笔记之WordPress

WordPress是一个优秀的个人博客框架,用起来相当简单,功能强大。但世上没有完美无缺的东西,任何事物总存在或多或少的瑕疵。在折腾WordPress的过程中,我遇到了一些问题,有WordPress自身的BUG,也有其功能上的不足。但由于WordPress本身开源,而且提供了数量丰富的插件供我们使用,因此所有的问题也都不是问题了。以下是本人对WordPress的配置及优化过程。

算法---质数筛选法

通过循环判断数n是否不能被所有不大于其平方根的数整除来判断一个数是否为质数或者输出一个小范围内(10000以内)的质数个数的算法相信大家都接触过,这种方法十分直接简单,但一旦在解决输出一个很大范围(大于10万)内所有质数或质数个数这类问题时就会因效率低下而导致时间复杂度很高。在此介绍一种通过筛除法查找质数的方法。

质数筛选法,顾名思义就是通过筛选的方式,将数字中的合数筛除,剩下的即质数。算法流程很简单,假设求2-N中的所有质数,将范围分为两部分,一部分为已筛除部分,由于2为质数,设定该部分初始范围为1-1;另一部分为待筛除部分,初始范围为2-N,计数量为cnt。算法流程如下:

|