1, 质数(素数)概念:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。例如:3 只能被1和3整除,5,7,9 这些都是。4,6这些都不是质数(注意2是质数)。
2 基本思想:利用数组存储所有数值,筛选出全体质数
(1)输入n,创建数组p,数组的内容从0开始依次增1
(2)循环遍历数组p,从下标(记为i)为2的开始
(2.1)如果当前的 p[i] 不是质数,continue 筛选下一个
(2.2)检查数组p中从下标i之后的元素是否为素数。
(2.2.1)如果当前的元素不是质数,continue筛选下一个
(2.2.2)否则,就判断,如果不是质数,就把数组的值标记为-1
(3)从下标2开始,打印出数值不为-1的元素,即为全体质数
3代码
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int* p;
int n;
cin >> n;
p = new int[n];
for (int j = 0; j < n; j++) {
p[j] = j;
}
for (int i = 2; i < n ; i++){ //循环遍历数组,从数字2开始
if (p[i] =