c语言判断 101-200 之间有多少个素数,并输出所有素数及素数的个数
时间: 2023-05-11 18:05:37 浏览: 208
这是一个计算素数的问题,以下是 C 语言的代码:
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0;
for (int i = 101; i <= 200; i++) {
if (is_prime(i)) {
printf("%d ", i);
count++;
}
}
printf("\nTotal: %d\n", count);
return 0;
}
输出结果为:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
Total: 21
注意:这个代码只是一个简单的示例,可能不是最优的算法。
相关问题
C语言计算100-500之间素数的个数
以下是C语言代码实现:
```c
#include <stdio.h>
int is_prime(int n) { // 判断是否为素数
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0;
for (int i = 100; i <= 500; i++) {
if (is_prime(i)) {
count++;
}
}
printf("100-500之间素数的个数为:%d\n", count);
return 0;
}
```
首先定义了一个判断是否为素数的函数 `is_prime`,然后在主函数中循环遍历100-500之间的整数,每遇到一个素数,素数个数加1。最后输出素数个数即可。
C语言输出 1-100之间所有素数,并求和。素数是只能被1和自身整除的整数,注意1不是素数。
好,下面是C语言实现。
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num) {
if (num <= 1) {
return 0;
}
int i;
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int sum = 0;
int count = 0;
for (int i = 2; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
sum += i;
count++;
}
}
printf("\n素数个数为:%d\n", count);
printf("素数和为:%d\n", sum);
return 0;
}
```
程序中的`is_prime`函数用于判断一个数是否为素数,如果是素数返回1,否则返回0。主函数中使用for循环遍历1到100之间的所有整数,对每个整数调用`is_prime`函数判断是否为素数,如果是素数,则输出该数并将其加入素数的总和中。最后输出素数的个数和总和。
阅读全文