给我一段输出1~100以内素数的c语言
时间: 2023-05-11 16:06:16 浏览: 123
以下是一段输出1~100以内素数的C语言代码:
#include <stdio.h>
int main() {
int i, j, isPrime;
for (i = 2; i <= 100; i++) {
isPrime = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
isPrime = 0;
break;
}
}
if (isPrime) {
printf("%d ", i);
}
}
return 0;
}
相关问题
输出100以内所有素数C语言
在C语言中,输出100以内所有素数的一个简单方法是使用嵌套循环来检查每个数是否为素数。素数定义为只能被1和它本身整除的数,且大于1。以下是一个实现此功能的C语言代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
int main() {
int i, j;
bool isPrime;
printf("100以内的所有素数:\n");
for (i = 2; i <= 100; i++) { // 从2开始到100
isPrime = true; // 假设当前数字是素数
for (j = 2; j * j <= i; j++) { // 只需检查到sqrt(i)
if (i % j == 0) { // 如果i能被j整除,则不是素数
isPrime = false; // 标记当前数字不是素数
break; // 跳出循环
}
}
if (isPrime) { // 如果是素数,则打印
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
这段代码首先定义了一个布尔变量`isPrime`来标记一个数是否为素数。外层循环遍历从2到100的所有整数,内层循环用于检查当前整数是否只能被1和它本身整除。如果内层循环结束后`isPrime`仍为`true`,则说明当前数字是素数,并将其打印出来。
筛选法求100以内素数 c语言
筛选法,也叫埃拉托斯特尼筛法(Sieve of Eratosthenes),是一种古老的算法,用于查找一定范围内的所有质数。以下是使用 C 语言实现的一个简单版本,该算法逐个标记出从2到目标值(这里是100)之间的每一个合数(非质数),然后剩下的未被标记的就是素数:
```c
#include <stdio.h>
void sieve_of_eratosthenes(int limit) {
// 初始化布尔数组表示每个数字是否是质数
int is_prime[limit + 1] = {0};
for (int i = 2; i <= limit; i++) {
is_prime[i] = 1;
}
// 打印2作为第一个质数
printf("%d ", 2);
// 对于从3开始的所有奇数,如果它们是质数,则打印并标记其后续倍数为合数
for (int i = 3; i * i <= limit; i += 2) {
if (is_prime[i]) {
for (int j = i * i; j <= limit; j += i * 2) {
is_prime[j] = 0;
}
}
}
// 输出所有大于2的质数
for (int i = 3; i <= limit; i += 2) {
if (is_prime[i])
printf("%d ", i);
}
}
int main() {
sieve_of_eratosthenes(100);
return 0;
}
```
当你运行这段代码时,它会输出100以内的所有素数。
阅读全文
相关推荐













