c语言编程实现,求2~100间的所有素数。
时间: 2023-05-12 16:06:17 浏览: 118
以下是一个 C 语言程序,用于查找 2 到 100 之间的所有素数:
```c
#include <stdio.h>
int main() {
int i, j, is_prime;
for (i = 2; i <= 100; i++) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
该程序使用两个嵌套的循环来查找素数。外部循环从 2 开始,一直到 100 结束。内部循环从 2 开始,一直到当前数字的前一个数字结束。如果当前数字可以被内部循环中的任何数字整除,则该数字不是素数。如果内部循环结束后,该数字仍然被标记为素数,则将其打印出来。
相关问题
c语言编程求1~100的所有素数
以下是两种C语言编程求1~100的所有素数的例子:
1. 暴力枚举法
```c
#include <stdio.h>
int main() {
int i;
for(i = 2; i <= 100; i++) { // 1不是素数
int j = 0;
for(j = 2; j <= i; j++) { // 从2~i取余,如果余数为0则不是素数,跳出循环
if(i % j == 0) {
break;
}
}
if(i == j) { // 如果j=i,则i是素数
printf("%d ", i);
}
}
return 0;
}
```
2. 优化后的算法
```c
#include <stdio.h>
#include <math.h>
int main() {
int i = 0;
for(i = 2; i <= 100; i++) {
int j = 0;
for(j = 2; j <= sqrt(i * 1.0); j++) { // 只需判断2~sqrt(i)之间的数是否能整除i
if(i % j == 0) {
break;
}
}
if(j > sqrt(i * 1.0)) { // 如果j>sqrt(i),则i是素数
printf("%d ", i);
}
}
return 0;
}
```
用c语言,编程实现,求2~100间的所有素数。编程实现,求2~100间的所有素数。
以下是用C语言编写的程序,可以输出2~100间的所有素数:
```c
#include <stdio.h>
int main() {
int i, j, is_prime;
for (i = 2; i <= 100; i++) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
程序的思路是:从2开始遍历到100,对于每个数,判断它是否为素数。判断的方法是:从2开始遍历到这个数的前一个数,如果存在一个数可以整除它,那么它就不是素数。如果遍历完了所有的数都没有被整除,那么它就是素数。