C++笔记:使用std::vector储存质数表
本程序中最新使用的知识点:
- 常量整数
const int maxnum
。 math.h
标准库。std::vector
和std::vector::iterator
类型。
程序如下。
/* 寻找所有的质数,并将寻找到的质数放入 vector 中进行穷举。
* By Ceeji
*/
const int maxnum = 10000;
#include <iostream>
#include <vector>
#include <math.h>
using namespace std;
typedef vector<int> intarr;
int main()
{
intarr p = intarr();
bool iszs;
int max;
for (int i = 1; i != maxnum; ++i) // 从 1 开始寻找质数。
{
if (i == 1)
{
iszs = false;
}
else
{
if (i == 2)
{
iszs = true;
}
else
{
max = (int)floor(sqrt((double)i));
iszs = true;
for (int j = 2; j != max + 1; ++j)
{
if (i % j == 0)
{
// 不是质数。
iszs = false;
break;
}
}
}
if (iszs)
{
p.push_back (i);
}
}
}
intarr::iterator iter = p.begin ();
// 输出
while (iter != p.end ())
{
cout << *(iter++) << endl;
}
return 0;
}
题外话:我帮你整理了包括 AI 写作、绘画、视频(自媒体制作)零门槛 AI 课程 + 国内可直接顺畅使用的软件。想让自己快速用上 AI 工具来降本增效,辅助工作和生活?限时报名。
© 转载需附带本文链接,依据 CC BY-NC-SA 4.0 发布。