c语言中判断1000以内素数并输出
时间: 2024-04-29 20:23:24 浏览: 22
以下是判断1000以内素数并输出的C语言代码:
```
#include <stdio.h>
int main() {
int i, j, is_prime;
for (i = 2; i <= 1000; i++) {
is_prime = 1; // 假设i是素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0; // i不是素数
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
该程序使用了两个嵌套的循环,外层循环从2到1000枚举每个数字,内层循环判断当前数字是否为素数。如果存在一个小于当前数字的因子,则说明当前数字不是素数,否则说明当前数字是素数,将其输出即可。
相关问题
c语言求1000以内的素数并输出
下面是一个求1000以内素数的C语言程序:
```c
#include <stdio.h>
int main() {
int num, i, flag;
// 从2开始遍历到1000
for (num = 2; num <= 1000; num++) {
flag = 1; // 假设num是素数
// 判断num是否为素数
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
flag = 0; // num不是素数
break;
}
}
// 如果num是素数,则输出
if (flag == 1) {
printf("%d ", num);
}
}
return 0;
}
```
程序的基本思路是:从2开始遍历到1000,判断每个数是否为素数。如果是素数,则输出。判断素数的方法是:从2开始遍历到num/2,如果num能够被任何一个小于num/2的数整除,则num不是素数。否则,num是素数。
用C语言输出100以内的素数并计数
以下是用C语言输出100以内的素数并计数的代码:
```c
#include <stdio.h>
int main() {
int count = 0;
printf("2 "); //2是最小的素数,先输出
for (int i = 3; i <= 100; i += 2) { //从3开始,每次加2
int is_prime = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
count++;
}
}
printf("\n");
printf("共有%d个素数\n", count+1); //加1是因为2也是素数
return 0;
}
```
代码解释:
- 首先定义一个计数器 `count`,用来记录素数的个数。
- 输出2,然后从3开始,每次加2,判断是否为素数。
- 判断素数的方法是从2到 i-1 都不能整除 i。如果能整除,就不是素数,将 `is_prime` 设为 0,并跳出循环。
- 如果 `is_prime` 为 1,表示是素数,输出并将计数器 `count` 加1。
- 最后输出素数的个数,记得加上2(因为2也是素数)。