给出一个数n,求出比n大的第一个质数以及比n小的第一个质数。比如:n=5,输出7 3,比5大的第一个质数是7,比5小的第一个质数是3。使用c语言进行代码编写
时间: 2024-02-26 22:58:11 浏览: 96
以下是使用C语言编写的代码:
```c
#include <stdio.h>
int isPrime(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 n;
scanf("%d", &n);
int bigger = n + 1;
while (!isPrime(bigger)) {
bigger++;
}
int smaller = n - 1;
while (!isPrime(smaller)) {
smaller--;
}
printf("%d %d", bigger, smaller);
return 0;
}
```
代码逻辑很简单,isPrime函数用于判断一个数是否为质数,bigger和smaller分别用于寻找比n大的第一个质数和比n小的第一个质数。
相关问题
给出一个数 n n ,求出比 n n 大的第一个质数以及比 n n 小的第一个质数。 例如: n = 5 n= 5 ,输出 7 3 7 3 ,比 5 5 大的第一个质数是 7 7 ,比 5 5 小的第一个质数是 3 3 。c语言写出代码
以下是求比 n 大和比 n 小的第一个质数的 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 n;
printf("请输入一个整数:");
scanf("%d", &n);
int bigger = n + 1, smaller = n - 1;
while (!is_prime(bigger)) {
bigger++;
}
while (!is_prime(smaller)) {
smaller--;
}
printf("比 %d 大的第一个质数是:%d\n", n, bigger);
printf("比 %d 小的第一个质数是:%d\n", n, smaller);
return 0;
}
```
这段代码中的 `is_prime` 函数用于判断一个数是否为质数,如果是质数则返回 `1`,否则返回 `0`。在 `main` 函数中,依次对比 n 的前一个和后一个数,找到第一个质数即可输出。
求出比 n 大的第一个质数以及比 n 小的第一个质数。 例如: n=5
对于给定的 n,你可以使用以下方法来找到比 n 大的第一个质数以及比 n 小的第一个质数:
1. 比 n 大的第一个质数:从 n+1 开始逐个增加数字,并检查每个数字是否为质数。如果一个数字不能被比它小的任何数字整除,则它是一个质数。找到这样的数字后,即为比 n 大的第一个质数。
2. 比 n 小的第一个质数:从 n-1 开始逐个减少数字,并检查每个数字是否为质数。找到这样的数字后,即为比 n 小的第一个质数。
请注意,质数是大于 1 且只能被 1 和自身整除的整数。
阅读全文