输入入2个正整数A和B,然后输出它们之间的素数个数(不包含A,B)。C语言
时间: 2023-06-13 12:09:16 浏览: 83
以下是一个求解两个正整数之间的素数个数的C语言程序:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
// 判断一个数是否为素数
if (n <= 1) return 0;
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) return 0;
}
return 1;
}
int count_primes(int a, int b) {
// 计算a和b之间的素数个数
int cnt = 0;
for (int i = a + 1; i < b; i++) {
if (is_prime(i)) cnt++;
}
return cnt;
}
int main() {
int a, b;
printf("请输入两个正整数A和B:");
scanf("%d %d", &a, &b);
printf("%d和%d之间的素数个数为:%d\n", a, b, count_primes(a, b));
return 0;
}
```
程序中,`is_prime`函数用于判断一个数是否为素数,`count_primes`函数用于计算两个正整数之间的素数个数。在`main`函数中,我们首先输入两个正整数A和B,然后调用`count_primes`函数计算它们之间的素数个数,最后输出结果。
相关问题
c语言编程输入两个正整数 a , b ,计算 a , b 之间所有素数之和。
好的,以下是计算 a , b 之间所有素数之和的 C 语言代码:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int a, b;
int sum = 0;
printf("请输入两个正整数 a 和 b:");
scanf("%d%d", &a, &b);
for (int i = a; i <= b; i++) {
if (is_prime(i)) {
sum += i;
}
}
printf("%d 到 %d 之间所有素数之和为:%d\n", a, b, sum);
return 0;
}
```
希望这个代码能够帮到你!
C语言输入一个正整数n,求出并显示2~n之间所有素数的和。
好的,这是一个比较经典的C语言编程题目。下面是解题思路和代码示例:
解题思路:
1. 首先需要判断一个数是否为素数,可以使用循环从2到该数的平方根进行判断,如果该数可以被整除则不是素数。
2. 其次需要输入一个正整数n,然后从2到n遍历每个数,判断是否为素数,如果是素数则加入和中。
3. 最后输出所有素数的和即可。
代码示例:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
int i;
if (n < 2) return 0;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, i, sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
if (is_prime(i)) {
sum += i;
}
}
printf("2~%d之间所有素数的和为:%d\n", n, sum);
return 0;
}
```
以上就是一个简单的C语言程序,可以实现输入一个正整数n,求出并显示2~n之间所有素数的和。