c语言实现最小质数合数之和问题 描述: 查找大于正整数n 的最小质数和最小合数之和。 质数是指在大于1 的自然数中,除了1 和它本身以外不再有其他因数的自然数。 合数是指在大于1 的整数中除了能被1 和本身整除外,还能被其他数(0 除外)整除的数。 输入: 一个正整数n,题目保证1≤n≤1000000000 。 输出: 一个正整数,表示大于正整数n 的最小质数和最小合数之和。 样例输入: 1 样例输出: 6 样例输入: 96 样例输出: 195
时间: 2023-06-01 18:02:43 浏览: 109
分析:
首先,我们需要判断一个数是不是质数或合数。
判断质数的方法很多,这里我们采用最简单的方法:从2到sqrt(n)遍历,看是否有能整除n的数。如果有,n就不是质数。
判断合数的方法也很简单:如果一个数不是质数,那么它就是合数。
接下来,我们需要找到大于n的最小质数和最小合数。为了方便,我们可以先写一个函数来找到大于n的最小质数:
int find_prime(int n){
int i;
for(i=n+1;;i++){
int j;
for(j=2;j<=sqrt(i);j++){
if(i%j==0){
break;
}
}
if(j>sqrt(i)){
return i;
}
}
}
这个函数从n+1开始遍历,每次判断一个数是不是质数,如果是,就返回这个数。
接下来我们再写一个函数来找到大于n的最小合数:
int find_composite(int n){
int i;
for(i=n+1;;i++){
int j;
for(j=2;j<=sqrt(i);j++){
if(i%j==0){
break;
}
}
if(j<=sqrt(i)){
return i;
}
}
}
这个函数和上面的函数基本一样,只是判断条件相反,如果一个数不是质数,就返回这个数。
最后,我们只需要调用这两个函数,将它们的返回值相加,就是大于n的最小质数和最小合数之和了。
完整代码如下:
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)