输入一个整数,输出比这个数小的最大素数。C语言
时间: 2024-06-10 22:07:27 浏览: 22
下面是一个C语言的代码实现:
#include<stdio.h>
#include<math.h>
/**
* 判断一个数是否为素数
* @param n 待判断的数
* @return 若是素数,返回1,否则返回0
*/
int isPrime(int n)
{
if(n <= 1) return 0; //小于等于1的数都不是素数
int sqr = sqrt(n); //对n进行开方取整
for(int i=2; i<=sqr; i++)
{
if(n%i == 0) return 0; //若找到一个n的因子,说明n不是素数,返回0
}
return 1; //若循环结束都没有找到n的因子,说明n是素数,返回1
}
int main()
{
int n, i;
printf("Please enter an integer: ");
scanf("%d", &n);
for(i=n-1; i>=2; i--)
{
if(isPrime(i)) //如果i是素数
{
printf("%d\n", i);
break; //找到比n小的最大素数就结束循环
}
}
if(i<2) printf("There is no prime number smaller than %d.\n", n); //i<2说明在2~n-1之间没有素数
return 0;
}
当你输入一个整数时,程序会输出一个比这个数小的最大素数。若找不到比这个数小的素数,则会输出"There is no prime number smaller than 这个数。"
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)