C语言,找出大于正整数m且靠近m的k个素数,m和k均从键盘输入
时间: 2024-04-29 08:25:33 浏览: 22
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
int sqr = sqrt(n);
for (int i = 2; i <= sqr; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, k;
printf("请输入正整数m和k:");
scanf("%d %d", &m, &k);
int count = 0;
int num = m + 1;
while (count < k) {
if (isPrime(num)) {
printf("%d ", num);
count++;
}
num++;
}
return 0;
}
```
首先定义一个函数`isPrime`用于判断一个数是否为素数,如果是则返回1,否则返回0。接着从键盘读入正整数m和k,从m+1开始往后遍历每个整数,如果是素数则输出并计数器加1,直到找到k个素数为止。
相关问题
C语言,要求从键盘上输入m和k,输出大于且紧靠m的k个素数
以下是C语言代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断素数
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int m, k;
printf("请输入m和k:");
scanf("%d%d", &m, &k);
int count = 0;
for (int i = m + 1; count < k; i++) {
if (isPrime(i)) {
printf("%d ", i);
count++;
}
}
printf("\n");
return 0;
}
```
首先定义一个`isPrime`函数,用于判断一个数是否为素数。然后从键盘上输入m和k。接着用一个循环,从m+1开始,依次判断每个数是否为素数,如果是,则输出,并计数器加1,直到输出k个素数为止。最后输出一个换行符,结束程序。
C语言5、编写程序,要求从键盘上输入整数m和k 输出大于且紧靠m的k个素数。
```c
#include <stdio.h>
#include <math.h>
// 判断是否为素数
int is_prime(int n) {
if (n <= 1) {
return 0;
}
int i;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, k;
printf("请输入一个整数m:");
scanf("%d", &m);
printf("请输入一个整数k:");
scanf("%d", &k);
int count = 0; // 记录输出的素数个数
int i = m + 1; // 从m的下一个开始找素数
while (count < k) {
if (is_prime(i)) {
printf("%d ", i);
count++;
}
i++;
}
printf("\n");
return 0;
}
```
运行结果:
```
请输入一个整数m:10
请输入一个整数k:5
11 13 17 19 23
```