读入一个数 n,求比 n 小的最大的质数是谁 用c语言写个代码
时间: 2024-10-28 22:12:49 浏览: 57
在C语言中,我们可以编写一个函数来寻找比给定整数n小的最大质数。首先,我们需要一个辅助函数来判断一个数是否为质数。然后,从n开始向下遍历,找到第一个质数。以下是基本的代码实现:
```c
#include <stdio.h>
// 判断是否为质数的辅助函数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
// 主函数,求小于n的最大质数
int find_max_prime(int n) {
int max_prime = 0; // 初始化最大质数为0
for (int i = n - 1; i >= 2; i--) { // 从n-1开始往下检查
if (is_prime(i)) {
max_prime = i; // 更新最大质数
break;
}
}
return max_prime;
}
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
if (n > 1) {
int result = find_max_prime(n);
printf("比 %d 小的最大质数是 %d\n", n, result);
} else {
printf("输入错误,需要大于1的数字。\n");
}
return 0;
}
```
阅读全文