求指定范围内的所有素数(最基础/最好理解的方式)
原理:
首先要明白什么是素数(如果一个数除了1和它本身没有别的因子,那么这个数就是素数)
#include <bits/stdc++.h>//万能头文件
using namespace std;
const int N = 100000;//定义一个常量
int prime[N];//定义一个存素数的数组
int main(){
int n, k = 0;
cin >> n;//输入一个数,求n以下的所有素数(包含n)
for(int i = 2; i <= n; i++){
bool flag = true;//定义一个flag ,默认为true, 如果不是素数就赋值为false
for(int j = 2; j < i; j++){
if(i%j==0){//如果i有别的因子,那么就不是素数,将flag赋值为false;
flag=false;
break;
}
}
if(flag==true){
prime[k++] = i;
}
}
for(int i = 0; i < k; i++){//输出存放素数的数组
cout << prime[i] << " ";
}
}