首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一道素数题,该怎么处理

2012-03-21 
一道素数题#include iostream#include vector#include fstreamusingnamespacestdintmain(){vector

一道素数题
#include <iostream>
#include <vector>
#include <fstream>
using   namespace   std;
int   main()
{
vector <int> prime(10000,1);
for(int   i=2;i <100;++i)
if(prime[i])
for(int   j=1;i*j <10000;++j)
prime[i*j]=0;
ifstream   in( "a.txt ");
for(int   a;in> > a   &&   a> 1   &&   a <10000;)
cout < <a < < "   is   " < <(prime[a]   ?   " ": "   not   ") < < "   a   prime.\n ";
return   0;
}
我建的文本a.txt中数字有
3
12
101
131
6           为什么最后3被判断为not   a   prime.

[解决办法]
for(int j=1;i*j <10000;++j)这个循环应该从2开始,改成for(int j=2;i*j <10000;++j)就可以了

热点排行