输出100以内的素数c++
时间: 2023-10-30 17:08:07 浏览: 167
要输出100以内的素数,可以使用筛选法。具体步骤如下:
1. 创建判断函数,判断输入的数是否为素数,不是则返回0,是则返回1;
2. 创建输出函数,先创建容量为101的数组并将其全部赋值为0,这样可以把1-100按顺序显示,便于理解。我们都知道1是特殊的素数,所以我们直接从2开始循环,直到99,把每个元素赋值为自己的序号值,即arr=2,arr=3,...,arr[99]=99以此类推。再利用判断函数对每一个数进行判断,是否为素数,若判定为非素数,则将其重新赋值为0,经过循环后,剩下来非0的所有数就都是非素数了。最后再将值不为0的所有元素全部输出,即为100以内的全部素数。
下面是C++代码实现:
```
#include<iostream>
#include<math.h>
using namespace std;
int is_prime(int x) // 判断是否为素数
{
for (int k = 2; k <= sqrt(x); k++)
{
if (x%k == 0)
return 0; //不是素数
}
return 1; //是素数
}
void get_prime() //输出100以内素数
{
int arr[101] = { 0 };
for (int i = 2; i < 100; i++)
{
arr[i] = i; //从2到99,令每一个元素等于自己的序号
}
for (int j = 2; j < 100; j++)
{
if (is_prime(arr[j]) == 0)
arr[j] = 0; //不是素数则将其标为0
}
for (int m = 2; m < 100; m++)
{
if (arr[m] != 0)
cout << arr[m] <<" ";
}
}
int main()
{
get_prime();
return 0;
}
```
阅读全文