用C语言编程实现输出100以内的所有素数
时间: 2023-09-10 17:10:58 浏览: 183
```
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num);
int main(void) {
int i;
printf("2 ");
for (i = 3; i <= 100; i += 2) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
bool is_prime(int num) {
int i;
if (num < 2) {
return false;
}
for (i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
```
首先我们定义一个函数`is_prime`,判断一个数是否为素数。这里采用了一个常见的优化算法,即在判断时只需要遍历到sqrt(num)即可。因为如果num有一对因子a和b,其中a<=sqrt(num),那么另一对必然是b和num/a,而num/a>=sqrt(num)。
然后在主函数中,我们从3开始遍历到100,每隔2个数进行判断,如果是素数就输出。注意2是最小的素数,需要先输出。
完整代码如上。
相关问题
C语言编程输出100以内的所有素数多层循环
可以实现。以下是代码示例:
```c
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 100; i++) {
flag = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
其中,外层循环控制数值范围,内层循环判断当前数值是否为素数,每当判断到一个素数时,使用 printf 函数输出该数值。
C语言编程输出100以内的素数
Sure, 这是一个经典的编程问题。以下是输出100以内的素数的C语言代码:
```
#include <stdio.h>
int main(void) {
int i, j, is_prime;
for (i = 2; i <= 100; i++) {
// initialize is_prime to true
is_prime = 1;
// check if i is prime
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
// if i is prime, print it out
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
希望能对你有所帮助!
阅读全文