注册 登录
编程论坛 C++教室

一个求100以内质数的方法,编译时出现无法解析的外部命令。不知道是什么情况啊?求高手解答。

scufnzy 发布于 2015-02-16 15:14, 698 次点击
#include <iostream>
#include <cmath>
#include <bitset>
using namespace std;
int main()
{
   int const max_number(100);
   int const max_test((int)sqrt ((double)max_number));
   bitset<max_number+1> numbers;//101个0
   numbers.set();//101个1
   numbers[1]=0;
   for(int i(1);i!=max_test;++i)
    {
    if(numbers[i])
    {
    for(int j(i*i);j<max_number+1;j+=i)
        {
            numbers[j]=0;
        }
    }
    }
    cout<<max_number+1<<"is"<<numbers.count()<<endl;
    for(int i(1);i!=max_number+1;++i)
    {
        if(numbers[i])
        cout<<i<<endl;
    }
    return 0;
}
编译时出现无法解析的外部命令。不知道是什么情况啊?

[ 本帖最后由 scufnzy 于 2015-2-16 15:15 编辑 ]
4 回复
#2
wp2319572015-02-16 15:38
vs2010 编译运行都没啥问题
#3
zklhp2015-02-22 17:22
以下是引用wp231957在2015-2-16 15:38:09的发言:

vs2010 编译运行都没啥问题

我这里也是正常的
#4
hzg1232015-02-22 17:51
编译器的限制,把int i(1)写成int i=1可以;
#5
stop12042015-02-23 14:06
对 2 3 5进行求余 不等 0 的
1