函数定义:
函数是C++中的一种可重复使用的代码块,用于完成特定的任务。以下是一个示例函数,用于计算两个整数的和:
#include <iostream>
// 定义一个名为sum的函数,接受两个整数参数,并返回它们的和
int sum(int a, int b) {
return a + b;
}
int main() {
int num1 = 5;
int num2 = 7;
// 调用sum函数,并将返回值赋给result变量
int result = sum(num1, num2);
std::cout << "The sum is: " << result << std::endl;
return 0;
}
在上述示例中,我们定义了一个名为sum的函数,它接受两个整数参数a和b,并返回它们的和。然后,在主函数main中,我们声明了两个整数变量num1和num2,并将其分别赋值为5和7。接下来,我们调用sum函数,并将num1和num2作为参数传递给它。sum函数会将这两个参数相加,并返回结果。我们将返回值赋给result变量,并通过cout语句打印出来。
运行程序,输出结果为:
The sum is: 12
这个示例展示了函数的基本用法,可以根据需要定义不同的函数来实现不同的功能。
题目:
给出一个数 n ,求出比 n 大的第一个质数以及比 n 小的第一个质数。
例如: n=5 ,输出 7 3 ,比 5 大的第一个质数是 7 ,比 5 小的第一个质数是 3 。
输入数据:
一个数 n ( 2<n<100000000 )。
输出数据:
输出 2 个数,中间用空格分割,分别对应比 n 大的第一个质数以及比 n 小的第一个质数。
样例:
输入
5
输出
7 3
运行时间限制:不超过 1 秒
内存使用限制:不超过 128.0MB
解题思路:
定义一个函数 isprime ,输入参数是一个整数 int,返回值是一个 bool 。函数用来判断输入的数是否为质数,是质数返回 true,否则返回 false。
在 main 函数里:
-
从 n+1 向上枚举,调用 isprime 判断每个数是否为质数,是则输出该数。
-
从 n−1 向下枚举,调用 isprime 判断每个数是否为质数,是则输出该数
bool prime(int n) { 如果n是质数返回true,否则返回 false。 } main() { i从n+1向上枚举,如果 prime(i) == true,则输出并退出循环。 i从n-1向下枚举,如果 prime(i) == true,则输出并退出循环。 }
整个程序可以用这样一段伪代码来描述。这样可以先构思出程序的整体框架,再考虑每一部分的实现细节。
具体到如何判断一个数 n 是否为质数,可以从 2 到 n−1 进行试除,一旦存在 n%i==0 ,则表示 n 不是质数,可以直接返回 false,而不用等到循环到最后。
代码:
#include<bits/stdc++.h>
using namespace std;
bool is_prime(int val){
int m=sqrt(val+0.5);
for(int i=2;i<=m;i++){
if(val%i==0){
return false;
}
}
return true;
}
int main(){
int n;
cin>>n;
for(int j=n+1;;j++){
if(is_prime(j)){
cout<<j<<" ";
break;
}
}
for(int j=n-1;;j--){
if(is_prime(j)){
cout<<j<<endl;
}
}
return 0;
}
注:本文来自51nod,为@小罐头甜编辑