用c语言打印1到2000的所有素数
时间: 2024-05-14 17:12:16 浏览: 57
```
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 2000; i++) {
flag = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
解释:
1. 从2到2000遍历每一个数;
2. 判断当前数是否为素数,如果是,则输出;
3. 判断素数的方法是:从2到当前数的一半遍历每一个数,如果当前数能够被整除,说明不是素数,跳出循环。如果遍历完所有可能的因子,都没有能够整除当前数,说明是素数。
相关问题
c语言打印1-100所有质数
在C语言中,打印1到100之间的所有质数,你可以通过编写一个简单的程序来实现,这里是一个基本的示例:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
void print_primes(int start, int end) {
for (int i = start; i <= end; i++) {
if (is_prime(i))
printf("%d ", i);
}
printf("\n");
}
int main() {
print_primes(1, 100);
return 0;
}
```
这个程序首先定义了一个`is_prime()`函数用于判断一个数字是否为质数,然后`print_primes()`函数会遍历指定范围内的数字,对每一个数字调用`is_prime()`,如果是质数就打印出来。
运行上述代码,它将输出从1到100的所有质数。
用c语言打印1-n的素数
以下是用C语言打印1-n的素数的代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void print_primes(int n) {
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
printf("Prime numbers from 1 to %d are: ", n);
print_primes(n);
return 0;
}
```
该程序首先定义了一个函数 `is_prime` ,用于判断一个数是否为素数。接着定义了另一个函数 `print_primes` ,用于打印从2到n之间的所有素数。最后在 `main` 函数中读取用户输入的数字n,调用 `print_primes` 函数并打印输出结果。
阅读全文