c++程序 2-100内的素数
时间: 2023-04-04 15:01:41 浏览: 166
您好,以下是回答:
这个问题可以回答。以下是 2-100 内的素数列表:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
希望能对您有所帮助。
相关问题
用c++求1-100之间素数的代码
### 回答1:
下面是求1-100之间素数的C语言代码:#include <stdio.h>
int main()
{
int i, j, n;
n = 100;
for(i=2; i<=n; i++)
{
for(j=2; j<=i-1; j++)
{
if(i%j == 0)
break;
}
if(i == j)
printf("%d ", i);
}
return 0;
}
### 回答2:
下面是用C语言编写的找出1-100之间所有素数的代码:
```c
#include <stdio.h>
// 函数判断一个数是否为素数
int isPrime(int num)
{
if (num < 2) // 0和1不是素数
return 0;
for (int i = 2; i <= num / 2; ++i) // 判断num是否可以被2到num/2之间的数整除
{
if (num % i == 0) // 如果可以整除,则num不是素数
return 0;
}
return 1; // 能整除的数都不存在,则num是素数
}
int main()
{
printf("1-100之间的素数有:\n");
for (int i = 1; i <= 100; ++i)
{
if (isPrime(i)) // 调用isPrime函数判断i是否为素数
printf("%d ", i);
}
return 0;
}
```
程序中定义了一个`isPrime`函数来判断一个数是否为素数。其中,`isPrime`函数的参数`num`表示待判断的数,函数返回值为1时表示`num`是素数,返回值为0时表示`num`不是素数。
在`main`函数中,通过循环从1到100遍历每个数,对每个数调用`isPrime`函数判断是否为素数,是素数则输出。最终输出1-100之间的所有素数。
### 回答3:
以下是使用C语言编写的求解1-100之间素数的代码:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0; // 如果数字小于等于1,直接返回非素数
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0; // 如果有除1和自身以外的约数,则返回非素数
}
}
return 1; // 如果没有其他约数,则返回素数
}
int main() {
printf("1-100之间的素数有: ");
for (int i = 1; i <= 100; i++) {
if (isPrime(i)) {
printf("%d ", i); // 如果是素数,则输出
}
}
printf("\n");
return 0;
}
```
上述代码中,我们定义了一个函数`isPrime`来判断一个数是否为素数。首先判断数字是否小于等于1,因为任何小于等于1的数字都不是素数。然后使用循环从2开始,到该数字的一半为止,逐个判断是否有其他约数。如果有,则返回0表示非素数;如果没有,则返回1表示素数。最后在`main`函数中,我们遍历1-100之间的数字,使用`isPrime`函数来判断是否为素数,并输出结果。
生成一个使用C++程序求解1-100质数的程序
在C++中,我们可以编写一个简单的程序来找出1到100之间的所有质数。下面是一个基本的示例,它使用了埃拉托斯特尼筛法(Sieve of Eratosthenes),这是一种常见的寻找素数的有效算法:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 函数用来标记非质数
void markNonPrimes(vector<bool>& isPrime, int n) {
for (int i = 2; i * i <= n; ++i) {
if (isPrime[i]) {
for (int j = i * i; j <= n; j += i)
isPrime[j] = false;
}
}
}
// 主函数,输出1到100内的质数
void findPrimes(int limit) {
vector<bool> isPrime(limit + 1, true); // 初始化一个布尔数组,假设所有数字都是质数
isPrime[0] = isPrime[1] = false; // 0和1不是质数
markNonPrimes(isPrime, limit);
for (int num = 2; num <= limit; ++num) {
if (isPrime[num])
cout << num << " ";
}
}
int main() {
findPrimes(100);
return 0;
}
```
在这个程序中,`findPrimes`函数首先创建了一个布尔数组`isPrime`,然后通过循环标记出所有合数,最后打印出剩余的质数。当你运行这个程序,它会输出1到100之间的所有质数。
阅读全文
相关推荐













