用一段c++代码查找0~50之间的素数
时间: 2023-12-10 22:40:09 浏览: 114
以下是一个简单的 C++ 代码,用于查找 0~50 之间的素数:
```cpp
#include <iostream>
using namespace std;
int main()
{
int i, j;
bool isPrime;
// 循环遍历 0~50 之间的数
for (i = 2; i <= 50; i++)
{
isPrime = true;
// 判断 i 是否为素数
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
isPrime = false;
break;
}
}
// 如果 i 是素数,则输出
if (isPrime)
{
cout << i << " ";
}
}
return 0;
}
```
代码中使用了两个 for 循环,外层循环遍历 0~50 之间的数,内层循环判断当前数是否为素数。如果当前数是素数,则输出。
相关问题
使用c++写一段代码 查找1~100的质数
以下是使用C语言写的查找1~100的质数的代码:
```
#include <stdio.h>
int main() {
int i, j;
for(i = 2; i <= 100; i++) {
for(j = 2; j <= i; j++) {
if(i % j == 0 && j != i) {
break;
}
if(j == i) {
printf("%d ", i);
}
}
}
return 0;
}
```
这段代码可以输出1~100中所有的质数。
打印 100~200 之间的素数素数:只能被 1 和它本身整除的数 c++
在C++中,你可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找到100至200之间的所有素数。这种方法适合于查找一段范围内的素数。下面是一个简单的代码实现:
```cpp
#include <iostream>
#include <vector>
void printPrimes(int start, int end) {
std::vector<bool> isPrime(end + 1, true); // 初始化所有数字为素数
isPrime[0] = isPrime[1] = false; // 0和1不是素数
for (int i = 2; i * i <= end; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= end; j += i) {
isPrime[j] = false;
}
}
}
for (int i = start; i <= end; i++) {
if (isPrime[i]) {
std::cout << i << " ";
}
}
}
int main() {
int start = 100, end = 200;
std::cout << "Prime numbers between " << start << " and " << end << " are:\n";
printPrimes(start, end);
return 0;
}
```
阅读全文